summaryrefslogtreecommitdiffstats
path: root/src/test/ui/regions/regions-static-bound-rpass.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/regions/regions-static-bound-rpass.rs')
-rw-r--r--src/test/ui/regions/regions-static-bound-rpass.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/regions/regions-static-bound-rpass.rs b/src/test/ui/regions/regions-static-bound-rpass.rs
new file mode 100644
index 000000000..25232b455
--- /dev/null
+++ b/src/test/ui/regions/regions-static-bound-rpass.rs
@@ -0,0 +1,26 @@
+// run-pass
+
+fn invariant_id<'a,'b>(t: &'b mut &'static ()) -> &'b mut &'a ()
+ where 'a: 'static { t }
+//~^ WARN unnecessary lifetime parameter `'a`
+
+fn static_id<'a>(t: &'a ()) -> &'static ()
+ where 'a: 'static { t }
+//~^ WARN unnecessary lifetime parameter `'a`
+
+fn static_id_indirect<'a,'b>(t: &'a ()) -> &'static ()
+ where 'a: 'b, 'b: 'static { t }
+//~^ WARN unnecessary lifetime parameter `'b`
+
+fn ref_id<'a>(t: &'a ()) -> &'a () where 'static: 'a { t }
+
+static UNIT: () = ();
+
+fn main()
+{
+ let mut val : &'static () = &UNIT;
+ invariant_id(&mut val);
+ static_id(val);
+ static_id_indirect(val);
+ ref_id(val);
+}