about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMara Bos <m-ou.se@m-ou.se>2024-02-20 15:19:16 +0100
committerMara Bos <m-ou.se@m-ou.se>2024-02-20 15:35:48 +0100
commitbec765e5079c09fe9f32119d4f8b7a3ff818f4f2 (patch)
treeee11fe16496a01a9097a52a514b38b1c549aec2b
parent476faa219641878df1ed95db6ed138b49cf6f348 (diff)
downloadrust-bec765e5079c09fe9f32119d4f8b7a3ff818f4f2.tar.gz
rust-bec765e5079c09fe9f32119d4f8b7a3ff818f4f2.zip
Add test.
-rw-r--r--tests/ui/lifetimes/temporary-lifetime-extension.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/ui/lifetimes/temporary-lifetime-extension.rs b/tests/ui/lifetimes/temporary-lifetime-extension.rs
new file mode 100644
index 00000000000..477801f3273
--- /dev/null
+++ b/tests/ui/lifetimes/temporary-lifetime-extension.rs
@@ -0,0 +1,29 @@
+//@ check-pass
+
+fn temp() -> (String, i32) {
+    (String::from("Hello"), 1)
+}
+
+fn main() {
+    let a = &temp();
+    let b = [(&temp(),)];
+    let c = &temp().0;
+    let d = &temp().0[..];
+    let e = {
+        let _ = 123;
+        &(*temp().0)[..]
+    };
+    let f = if true {
+        &temp()
+    } else {
+        &temp()
+    };
+    let g = match true {
+        true => &temp(),
+        false => {
+            let _ = 123;
+            &temp()
+        }
+    };
+    println!("{a:?} {b:?} {c:?} {d:?} {e:?} {f:?} {g:?}");
+}