mirror of
https://github.com/rust-lang/rust
synced 2024-09-05 16:57:03 +00:00
9de6b70bb6
When encoutnering a case like ```rust //@ run-rustfix use std::collections::HashMap; fn main() { let vs = vec![0, 0, 1, 1, 3, 4, 5, 6, 3, 3, 3]; let mut counts = HashMap::new(); for num in vs { let count = counts.entry(num).or_insert(0); *count += 1; } let _ = counts.iter().max_by_key(|(_, v)| v); ``` produce the following suggestion ``` error: lifetime may not live long enough --> $DIR/return-value-lifetime-error.rs:13:47 | LL | let _ = counts.iter().max_by_key(|(_, v)| v); | ------- ^ returning this value requires that `'1` must outlive `'2` | | | | | return type of closure is &'2 &i32 | has type `&'1 (&i32, &i32)` | help: dereference the return value | LL | let _ = counts.iter().max_by_key(|(_, v)| **v); | ++ ``` Fix #50195.
17 lines
664 B
Plaintext
17 lines
664 B
Plaintext
error: lifetime may not live long enough
|
|
--> $DIR/return-value-lifetime-error.rs:13:47
|
|
|
|
|
LL | let _ = counts.iter().max_by_key(|(_, v)| v);
|
|
| ------- ^ returning this value requires that `'1` must outlive `'2`
|
|
| | |
|
|
| | return type of closure is &'2 &i32
|
|
| has type `&'1 (&i32, &i32)`
|
|
|
|
|
help: dereference the return value
|
|
|
|
|
LL | let _ = counts.iter().max_by_key(|(_, v)| **v);
|
|
| ++
|
|
|
|
error: aborting due to 1 previous error
|
|
|