| //@ check-pass | |
| // issue: 116794 | |
| // Uncaptured lifetimes should not be required to be live. | |
| struct Invariant<T>(*mut T); | |
| fn opaque<'a: 'a>(_: &'a str) -> Invariant<impl Sized> { | |
| Invariant(&mut ()) | |
| } | |
| fn main() { | |
| let x = opaque(&String::new()); | |
| drop(x); | |
| } |