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>)19 fn test_simpler<'a>(_: impl TestMut<Output<'a> = usize>) {}
20 
main()21 fn main() {
22     test_simpler(E {});
23 }
24