diff options
Diffstat (limited to 'tests/ui/nll/promoted-bounds.rs')
-rw-r--r-- | tests/ui/nll/promoted-bounds.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/nll/promoted-bounds.rs b/tests/ui/nll/promoted-bounds.rs new file mode 100644 index 000000000..5f95ae13c --- /dev/null +++ b/tests/ui/nll/promoted-bounds.rs @@ -0,0 +1,25 @@ +fn shorten_lifetime<'a, 'b, 'min>(a: &'a i32, b: &'b i32) -> &'min i32 +where + 'a: 'min, + 'b: 'min, +{ + if *a < *b { + &a + } else { + &b + } +} + +fn main() { + let promoted_fn_item_ref = &shorten_lifetime; + + let a = &5; + let ptr = { + let l = 3; + let b = &l; //~ ERROR does not live long enough + let c = promoted_fn_item_ref(a, b); + c + }; + + println!("ptr = {:?}", ptr); +} |