// Test that we are able to establish that `>::Output: 'a` outlives `'a` (because the trait says // so). // //@ check-pass trait MyTrait<'a> { type Output: 'a; } fn foo<'a, T>() -> &'a () where T: MyTrait<'a>, { bar::() } fn bar<'a, T>() -> &'a () where T: 'a, { &() } fn main() {}