#![feature(nll)] // Test that we are able to establish that `>::Output: 'a` outlives `'a` (because the trait says // so). // // build-pass (FIXME(62277): could be 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() {}