about summary refs log tree commit diff
path: root/tests/ui/underscore-lifetime
diff options
context:
space:
mode:
authorxizheyin <xizheyin@smail.nju.edu.cn>2025-07-01 20:34:45 +0800
committerxizheyin <xizheyin@smail.nju.edu.cn>2025-07-18 00:28:09 +0800
commitcecf9ead40352f77e2e83765f0f6a796277299ec (patch)
treed75fd69289d4cd97ed0656303b11db99d4b7c740 /tests/ui/underscore-lifetime
parentbf5e6cc7a7a7eb03e3ed9b875d76530eddd47d5f (diff)
downloadrust-cecf9ead40352f77e2e83765f0f6a796277299ec.tar.gz
rust-cecf9ead40352f77e2e83765f0f6a796277299ec.zip
Add test raw-underscore-lifetime.rs
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Diffstat (limited to 'tests/ui/underscore-lifetime')
-rw-r--r--tests/ui/underscore-lifetime/raw-underscore-lifetime.rs10
-rw-r--r--tests/ui/underscore-lifetime/raw-underscore-lifetime.stderr15
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/underscore-lifetime/raw-underscore-lifetime.rs b/tests/ui/underscore-lifetime/raw-underscore-lifetime.rs
new file mode 100644
index 00000000000..9ab040f2eab
--- /dev/null
+++ b/tests/ui/underscore-lifetime/raw-underscore-lifetime.rs
@@ -0,0 +1,10 @@
+// This test is to ensure that the raw underscore lifetime won't emit two duplicate errors.
+// See issue #143152
+
+//@ edition: 2021
+
+fn f<'r#_>(){}
+//~^ ERROR `_` cannot be a raw lifetime
+//~| ERROR `'_` cannot be used here [E0637]
+
+fn main() {}
diff --git a/tests/ui/underscore-lifetime/raw-underscore-lifetime.stderr b/tests/ui/underscore-lifetime/raw-underscore-lifetime.stderr
new file mode 100644
index 00000000000..39627d8a476
--- /dev/null
+++ b/tests/ui/underscore-lifetime/raw-underscore-lifetime.stderr
@@ -0,0 +1,15 @@
+error: `_` cannot be a raw lifetime
+  --> $DIR/raw-underscore-lifetime.rs:6:6
+   |
+LL | fn f<'r#_>(){}
+   |      ^^^^
+
+error[E0637]: `'_` cannot be used here
+  --> $DIR/raw-underscore-lifetime.rs:6:6
+   |
+LL | fn f<'r#_>(){}
+   |      ^^^^ `'_` is a reserved lifetime name
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0637`.