diff options
Diffstat (limited to 'tests/ui/regions/regions-free-region-ordering-caller1.rs')
-rw-r--r-- | tests/ui/regions/regions-free-region-ordering-caller1.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/ui/regions/regions-free-region-ordering-caller1.rs b/tests/ui/regions/regions-free-region-ordering-caller1.rs new file mode 100644 index 000000000..f32455616 --- /dev/null +++ b/tests/ui/regions/regions-free-region-ordering-caller1.rs @@ -0,0 +1,14 @@ +// Test various ways to construct a pointer with a longer lifetime +// than the thing it points at and ensure that they result in +// errors. See also regions-free-region-ordering-callee.rs + +fn call1<'a>(x: &'a usize) { + // Test that creating a pointer like + // &'a &'z usize requires that 'a <= 'z: + let y: usize = 3; + let z: &'a & usize = &(&y); + //~^ ERROR temporary value dropped while borrowed + //~^^ ERROR `y` does not live long enough +} + +fn main() {} |