diff options
Diffstat (limited to 'src/test/ui/regions/regions-addr-of-arg.rs')
-rw-r--r-- | src/test/ui/regions/regions-addr-of-arg.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/regions/regions-addr-of-arg.rs b/src/test/ui/regions/regions-addr-of-arg.rs new file mode 100644 index 000000000..1805141c4 --- /dev/null +++ b/src/test/ui/regions/regions-addr-of-arg.rs @@ -0,0 +1,17 @@ +// Check that taking the address of an argument yields a lifetime +// bounded by the current function call. + +fn foo(a: isize) { + let _p: &'static isize = &a; //~ ERROR `a` does not live long enough +} + +fn bar(a: isize) { + let _q: &isize = &a; +} + +fn zed<'a>(a: isize) -> &'a isize { + &a //~ ERROR cannot return reference to function parameter `a` +} + +fn main() { +} |