// #125634 | |
struct Thing; | |
// Invariant in 'a, Covariant in 'b | |
struct TwoThings<'a, 'b>(*mut &'a (), &'b mut ()); | |
impl Thing { | |
fn enter_scope<'a>(self, _scope: impl for<'b> FnOnce(TwoThings<'a, 'b>)) {} | |
} | |
fn foo() { | |
Thing.enter_scope(|ctx| { | |
SameLifetime(ctx); //~ ERROR lifetime may not live long enough | |
}); | |
} | |
struct SameLifetime<'a>(TwoThings<'a, 'a>); | |
fn main() {} |