about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.rs11
-rw-r--r--tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.stderr2
2 files changed, 12 insertions, 1 deletions
diff --git a/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.rs b/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.rs
index cf60991e519..bb537f855a4 100644
--- a/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.rs
+++ b/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.rs
@@ -7,6 +7,17 @@ fn temp() -> String {
 #[derive(Debug)]
 struct X<'a>(&'a String);
 
+trait T<'a> {
+    const A: X<'a>;
+    const B: X<'a>;
+}
+
+impl<'a> T<'a> for X<'a> {
+    // Check both Self() and X() syntax:
+    const A: X<'a> = Self(&String::new());
+    const B: X<'a> = X(&String::new());
+}
+
 fn main() {
     let a = &temp();
     let b = Some(&temp());
diff --git a/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.stderr b/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.stderr
index 8a4b7e8ae43..66f9140f63c 100644
--- a/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.stderr
+++ b/tests/ui/lifetimes/temporary-lifetime-extension-tuple-ctor.stderr
@@ -1,5 +1,5 @@
 error[E0716]: temporary value dropped while borrowed
-  --> $DIR/temporary-lifetime-extension-tuple-ctor.rs:23:19
+  --> $DIR/temporary-lifetime-extension-tuple-ctor.rs:34:19
    |
 LL |     let g = some(&temp());
    |                   ^^^^^^ - temporary value is freed at the end of this statement