// check-pass #![feature(associated_type_bounds)] trait Foo { type Bar; } impl Foo for () { type Bar = (); } fn a() where F::Bar: Copy {} fn b() where ::Bar: Copy {} // This used to complain about ambiguous associated types. fn c>() where F::Bar: Copy {} fn main() { a::<()>(); b::<()>(); c::<()>(); }