Change:
//~^ ERROR does not implement //~^^ HELP the following trait defines a method `method2`, perhaps you need to implement it //~^^^ HELP `foo::Bar` <del> 1u64.method3(); </del> <ins> std::rc::Rc::new(&mut Box::new(&1u64)).method2(); </ins> //~^ ERROR does not implement <del> //~^^ HELP the following trait defines a method `method3`, perhaps you need to implement it </del> <ins> //~^^ HELP the following trait defines a method `method2`, perhaps you need to implement it //~^^^ HELP `foo::Bar` no_method_suggested_traits::Foo.method2(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method2`, perhaps you need to implement it //~^^^ HELP `foo::Bar` std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method2(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method2`, perhaps you need to implement it //~^^^ HELP `foo::Bar` no_method_suggested_traits::Bar::X.method2(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method2`, perhaps you need to implement it //~^^^ HELP `foo::Bar` std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method2(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method2`, perhaps you need to implement it //~^^^ HELP `foo::Bar` Foo.method3(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method3`, perhaps you need to implement it //~^^^ HELP `no_method_suggested_traits::foo::PubPub` std::rc::Rc::new(&mut Box::new(&Foo)).method3(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method3`, perhaps you need to implement it //~^^^ HELP `no_method_suggested_traits::foo::PubPub` Bar::X.method3(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method3`, perhaps you need to implement it </ins> //~^^^ HELP `no_method_suggested_traits::foo::PubPub` <ins> std::rc::Rc::new(&mut Box::new(&Bar::X)).method3(); //~^ ERROR does not implement //~^^ HELP following trait defines a method `method3`, perhaps you need to implement it //~^^^ HELP `no_method_suggested_traits::foo::PubPub` // should have no help: 1us.method3(); //~ ERROR does not implement std::rc::Rc::new(&mut Box::new(&1us)).method3(); //~ ERROR does not implement no_method_suggested_traits::Foo.method3();  //~ ERROR does not implement std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method3(); //~^ ERROR does not implement no_method_suggested_traits::Bar::X.method3();  //~ ERROR does not implement std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3(); //~^ ERROR does not implement </ins> }

Discussion:
E.g. (The repetition is .) However, all of these are useless: because one cannot implement them for anyway, it would be better to just filter them out, e.g. reject external traits when the self type itself is external. cc
Good point, although it's not always as simple as that -- with multidispatch it is plausible you COULD implement the trait for if another type parameter were local, though not with the current orphan rules. Nonetheless, it might be good to just screen them out anyway, as it is unlikely to be what you plan to do.