summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generics/generic-extern-lifetime.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
commit698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch)
tree173a775858bd501c378080a10dca74132f05bc50 /src/test/ui/generics/generic-extern-lifetime.rs
parentInitial commit. (diff)
downloadrustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz
rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/generics/generic-extern-lifetime.rs')
-rw-r--r--src/test/ui/generics/generic-extern-lifetime.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/ui/generics/generic-extern-lifetime.rs b/src/test/ui/generics/generic-extern-lifetime.rs
new file mode 100644
index 000000000..c42744808
--- /dev/null
+++ b/src/test/ui/generics/generic-extern-lifetime.rs
@@ -0,0 +1,15 @@
+// Test to make sure the names of the lifetimes are correctly resolved
+// in extern blocks.
+
+extern "C" {
+ pub fn life<'a>(x: &'a i32);
+ pub fn life2<'b>(x: &'a i32, y: &'b i32); //~ ERROR use of undeclared lifetime name `'a`
+ pub fn life3<'a>(x: &'a i32, y: &i32) -> &'a i32;
+ pub fn life4<'b>(x: for<'c> fn(&'a i32)); //~ ERROR use of undeclared lifetime name `'a`
+ pub fn life5<'b>(x: for<'c> fn(&'b i32));
+ pub fn life6<'b>(x: for<'c> fn(&'c i32));
+ pub fn life7<'b>() -> for<'c> fn(&'a i32); //~ ERROR use of undeclared lifetime name `'a`
+ pub fn life8<'b>() -> for<'c> fn(&'b i32);
+ pub fn life9<'b>() -> for<'c> fn(&'c i32);
+}
+fn main() {}