blob: 6b4642d2f985219d039cd3a3dbc34d3139bc9a25 [file] [log] [blame]
Ding Xiang Fei9b566402022-07-20 16:35:121// run-pass
2//
3// from issue #93951, where borrowck complained the temporary that `foo(&x)` was stored in was to
4// be dropped sometime after `x` was. It then suggested adding a semicolon that was already there.
5
est319c7ae382022-02-27 06:08:316
Ding Xiang Fei9b566402022-07-20 16:35:127use std::fmt::Debug;
8
9fn foo<'a>(x: &'a str) -> Result<impl Debug + 'a, ()> {
10 Ok(x)
11}
12
13fn let_else() {
14 let x = String::from("Hey");
15 let Ok(_) = foo(&x) else { return };
16}
17
18fn if_let() {
19 let x = String::from("Hey");
20 let _ = if let Ok(s) = foo(&x) { s } else { return };
21}
22
23fn main() {
24 let_else();
25 if_let();
26}