summaryrefslogtreecommitdiffstats
path: root/src/test/ui/underscore-lifetime/underscore-lifetime-binders.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/underscore-lifetime/underscore-lifetime-binders.rs')
-rw-r--r--src/test/ui/underscore-lifetime/underscore-lifetime-binders.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/underscore-lifetime/underscore-lifetime-binders.rs b/src/test/ui/underscore-lifetime/underscore-lifetime-binders.rs
new file mode 100644
index 000000000..3d049cc56
--- /dev/null
+++ b/src/test/ui/underscore-lifetime/underscore-lifetime-binders.rs
@@ -0,0 +1,22 @@
+struct Foo<'a>(&'a u8);
+struct Baz<'a>(&'_ &'a u8); //~ ERROR missing lifetime specifier
+
+fn foo<'_> //~ ERROR cannot be used here
+(_: Foo<'_>) {}
+
+trait Meh<'a> {}
+impl<'a> Meh<'a> for u8 {}
+
+fn meh() -> Box<dyn for<'_> Meh<'_>> //~ ERROR cannot be used here
+//~^ ERROR missing lifetime specifier
+{
+ Box::new(5u8)
+}
+
+fn foo2(_: &'_ u8, y: &'_ u8) -> &'_ u8 { y } //~ ERROR missing lifetime specifier
+
+fn main() {
+ let x = 5;
+ foo(Foo(&x));
+ let _ = meh();
+}