| // Checks that we properly add implied bounds from unnormalized projections in | |
| // inputs when typechecking functions. | |
| //@ check-pass | |
| trait MyTrait { | |
| type Assoc<'a, 'b> where 'b: 'a; | |
| fn do_sth(arg: Self::Assoc<'_, '_>); | |
| fn do_sth2(arg: Self::Assoc<'_, '_>) {} | |
| } | |
| struct Foo; | |
| impl MyTrait for Foo { | |
| type Assoc<'a, 'b> = u32 where 'b: 'a; | |
| fn do_sth(_: u32) {} | |
| fn do_sth2(_: Self::Assoc<'static, 'static>) {} | |
| } | |
| fn main() {} |