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