diff options
Diffstat (limited to 'tests/ui/regions/regions-ret-borrowed-1.rs')
-rw-r--r-- | tests/ui/regions/regions-ret-borrowed-1.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/regions/regions-ret-borrowed-1.rs b/tests/ui/regions/regions-ret-borrowed-1.rs new file mode 100644 index 000000000..54630caff --- /dev/null +++ b/tests/ui/regions/regions-ret-borrowed-1.rs @@ -0,0 +1,17 @@ +// Similar to regions-ret-borrowed.rs, but using a named lifetime. At +// some point regions-ret-borrowed reported an error but this file did +// not, due to special hardcoding around the anonymous region. + +fn with<R, F>(f: F) -> R where F: for<'a> FnOnce(&'a isize) -> R { + f(&3) +} + +fn return_it<'a>() -> &'a isize { + with(|o| o) + //~^ ERROR lifetime may not live long enough +} + +fn main() { + let x = return_it(); + println!("foo={}", *x); +} |