// check-pass #![feature(generic_associated_types)] struct E {} trait TestMut { type Output<'a>; fn test_mut(&mut self) -> Self::Output<'static>; } impl TestMut for E { type Output<'a> = usize; fn test_mut(&mut self) -> Self::Output<'static> { todo!() } } fn test_simpler<'a>(_: impl TestMut = usize>) {} fn main() { test_simpler(E {}); }