diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2024-03-08 22:59:53 +0000 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2024-04-05 19:42:55 +0000 |
| commit | 9de6b70bb65c922c6e75e2439cb5a8cb9d30e2a1 (patch) | |
| tree | 967d5ca0d2afffbf1394e857e879b3476772d4f7 /compiler/rustc_codegen_llvm/src | |
| parent | 76cf07d5df52c07c3cd4cfeea1ab32b1cfba71bf (diff) | |
| download | rust-9de6b70bb65c922c6e75e2439cb5a8cb9d30e2a1.tar.gz rust-9de6b70bb65c922c6e75e2439cb5a8cb9d30e2a1.zip | |
Provide suggestion to dereference closure tail if appropriate
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.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
