error: `T` does not live long enough --> $DIR/issue-105507.rs:37:5 | LL | require_trait(wrap); | ^^^^^^^^^^^^^^^^^^^ | note: due to current limitations in the borrow checker, this implies a `'static` lifetime --> $DIR/issue-105507.rs:27:35 | LL | for<'a> T::Projected<'a>: MyTrait, | ^^^^^^^ help: consider restricting the type parameter to the `'static` lifetime | LL | fn foo(wrap: Wrapper<'_, Option>, wrap1: Wrapper<'_, Option>) { | +++++++++ +++++++++ error: `U` does not live long enough --> $DIR/issue-105507.rs:39:5 | LL | require_trait(wrap1); | ^^^^^^^^^^^^^^^^^^^^ | note: due to current limitations in the borrow checker, this implies a `'static` lifetime --> $DIR/issue-105507.rs:27:35 | LL | for<'a> T::Projected<'a>: MyTrait, | ^^^^^^^ help: consider restricting the type parameter to the `'static` lifetime | LL | fn foo(wrap: Wrapper<'_, Option>, wrap1: Wrapper<'_, Option>) { | +++++++++ +++++++++ error: aborting due to 2 previous errors