diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/let-else/let-else-temporary-lifetime.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/test/ui/let-else/let-else-temporary-lifetime.rs b/src/test/ui/let-else/let-else-temporary-lifetime.rs index 9c86901b9..c23eaa997 100644 --- a/src/test/ui/let-else/let-else-temporary-lifetime.rs +++ b/src/test/ui/let-else/let-else-temporary-lifetime.rs @@ -1,5 +1,5 @@ // run-pass -#![feature(let_else)] +// compile-flags: -Zvalidate-mir use std::fmt::Display; use std::rc::Rc; @@ -75,6 +75,17 @@ fn main() { } } { + fn must_pass() { + let rc = Rc::new(()); + let &None = &Some(Rc::clone(&rc)) else { + Rc::try_unwrap(rc).unwrap(); + return; + }; + unreachable!(); + } + must_pass(); + } + { // test let-else drops temps before else block // NOTE: this test has to be the last block in the `main` // body. |