1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
// check-pass trait Trait { type Type; } impl<T> Trait for T { type Type = (); } fn f<'a, 'b>(_: <&'a &'b () as Trait>::Type) where 'a: 'a, 'b: 'b, { } fn g<'a, 'b>() { f::<'a, 'b>(()); } fn main() {}