``` rust trait Foo { type X; } trait Bar { type Y; } fn foo<T>(_: <T as Foo>::X::Y) where T: Foo, T::X: Bar, {} ``` ``` <anon>:8:27: 8:29 error: expected one of `+` or `,`, found `::` <anon>:8 fn foo<T>(_: <T as Foo>::X::Y) ^~ ```