| error[E0716]: temporary value dropped while borrowed |
| --> $DIR/if-let-rescope-borrowck-suggestions.rs:22:39 |
| | |
| LL | do_something(if let Some(value) = Droppy.get_ref() { value } else { &0 }); |
| | ^^^^^^ - temporary value is freed at the end of this statement |
| | | |
| | creates a temporary value which is freed while still in use |
| | |
| note: lifetimes for temporaries generated in `if let`s have been shortened in Edition 2024 so that they are dropped here instead |
| --> $DIR/if-let-rescope-borrowck-suggestions.rs:22:64 |
| | |
| LL | do_something(if let Some(value) = Droppy.get_ref() { value } else { &0 }); |
| | ^ |
| help: consider using a `let` binding to create a longer lived value |
| | |
| LL ~ let binding = Droppy; |
| LL ~ do_something(if let Some(value) = binding.get_ref() { value } else { &0 }); |
| | |
| help: consider rewriting the `if` into `match` which preserves the extended lifetime |
| | |
| LL | do_something({ match Droppy.get_ref() { Some(value) => { value } _ => { &0 }}}); |
| | ~~~~~~~ ++++++++++++++++ ~~~~ ++ |
| |
| error[E0716]: temporary value dropped while borrowed |
| --> $DIR/if-let-rescope-borrowck-suggestions.rs:24:39 |
| | |
| LL | do_something(if let Some(value) = Droppy.get_ref() { |
| | ^^^^^^ creates a temporary value which is freed while still in use |
| ... |
| LL | } else if let Some(value) = Droppy.get_ref() { |
| | - temporary value is freed at the end of this statement |
| | |
| note: lifetimes for temporaries generated in `if let`s have been shortened in Edition 2024 so that they are dropped here instead |
| --> $DIR/if-let-rescope-borrowck-suggestions.rs:27:5 |
| | |
| LL | } else if let Some(value) = Droppy.get_ref() { |
| | ^ |
| help: consider using a `let` binding to create a longer lived value |
| | |
| LL ~ let binding = Droppy; |
| LL ~ do_something(if let Some(value) = binding.get_ref() { |
| | |
| help: consider rewriting the `if` into `match` which preserves the extended lifetime |
| | |
| LL ~ do_something({ match Droppy.get_ref() { Some(value) => { |
| LL | |
| LL | value |
| LL ~ } _ => if let Some(value) = Droppy.get_ref() { |
| LL | |
| ... |
| LL | &0 |
| LL ~ }}}); |
| | |
| |
| error[E0716]: temporary value dropped while borrowed |
| --> $DIR/if-let-rescope-borrowck-suggestions.rs:27:33 |
| | |
| LL | } else if let Some(value) = Droppy.get_ref() { |
| | ^^^^^^ creates a temporary value which is freed while still in use |
| ... |
| LL | } else { |
| | - temporary value is freed at the end of this statement |
| | |
| note: lifetimes for temporaries generated in `if let`s have been shortened in Edition 2024 so that they are dropped here instead |
| --> $DIR/if-let-rescope-borrowck-suggestions.rs:30:5 |
| | |
| LL | } else { |
| | ^ |
| help: consider using a `let` binding to create a longer lived value |
| | |
| LL ~ let binding = Droppy; |
| LL ~ do_something(if let Some(value) = Droppy.get_ref() { |
| LL | |
| LL | value |
| LL ~ } else if let Some(value) = binding.get_ref() { |
| | |
| help: consider rewriting the `if` into `match` which preserves the extended lifetime |
| | |
| LL ~ } else { match Droppy.get_ref() { Some(value) => { |
| LL | |
| LL | value |
| LL ~ } _ => { |
| LL | &0 |
| LL ~ }}}); |
| | |
| |
| error: aborting due to 3 previous errors |
| |
| For more information about this error, try `rustc --explain E0716`. |