summaryrefslogtreecommitdiffstats
path: root/src/test/ui/parser/issues/issue-73568-lifetime-after-mut.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/parser/issues/issue-73568-lifetime-after-mut.rs')
-rw-r--r--src/test/ui/parser/issues/issue-73568-lifetime-after-mut.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/parser/issues/issue-73568-lifetime-after-mut.rs b/src/test/ui/parser/issues/issue-73568-lifetime-after-mut.rs
new file mode 100644
index 000000000..5f731f8db
--- /dev/null
+++ b/src/test/ui/parser/issues/issue-73568-lifetime-after-mut.rs
@@ -0,0 +1,19 @@
+#![crate_type="lib"]
+fn x<'a>(x: &mut 'a i32){} //~ ERROR lifetime must precede `mut`
+
+macro_rules! mac {
+ ($lt:lifetime) => {
+ fn w<$lt>(w: &mut $lt i32) {}
+ //~^ ERROR lifetime must precede `mut`
+ }
+}
+
+mac!('a);
+
+// avoid false positives
+fn y<'a>(y: &mut 'a + Send) {
+ //~^ ERROR expected a path on the left-hand side of `+`, not `&mut 'a`
+ //~| ERROR at least one trait is required for an object type
+ let z = y as &mut 'a + Send;
+ //~^ ERROR expected value, found trait `Send`
+}