Here's a test case, and the compile error.
It looks like the type parameter is not being instantiated to a fresh tvar. A mite confusing.
As I mentioned to @nikomatsakis earlier, I have a fix for this... but it breaks other test cases, so I'm still trying to figure out whether my fix was wrong or I exposed another bug.
@catamorphism sorry forgot to look at that with you today. Maybe you can gist the patch?
(or just push it to your local repo)
In ty::impl_traits, treat structs properly
Treat structs just like impls: use their associated list of
trait refs to get the list of traits that one of them implements.
I don't understand what was happening before, but it was wrong.