1 // check-pass 2 3 #![feature(generic_associated_types)] 4 5 struct E {} 6 7 trait TestMut { 8 type Output<'a>; test_mut(&mut self) -> Self::Output<'static>9 fn test_mut(&mut self) -> Self::Output<'static>; 10 } 11 12 impl TestMut for E { 13 type Output<'a> = usize; test_mut(&mut self) -> Self::Output<'static>14 fn test_mut(&mut self) -> Self::Output<'static> { 15 todo!() 16 } 17 } 18 test_simpler<'a>(_: impl TestMut<Output<'a> = usize>)19fn test_simpler<'a>(_: impl TestMut<Output<'a> = usize>) {} 20 main()21fn main() { 22 test_simpler(E {}); 23 } 24