rust/tests/ui/suggestions/suggest-field-through-deref.fixed
Esteban Küber 8bd8f3b090 Suggest unwrap() on field not found for Result/Option
When encountering a `Result<T, _>` or `Option<T>` where `T` has a field
that's being accessed, suggest calling `.unwrap()` to get to the field.
2023-11-16 17:00:23 +00:00

22 lines
803 B
Rust

// run-rustfix
#![allow(dead_code)]
use std::sync::Arc;
struct S {
long_name: (),
foo: (),
}
fn main() {
let x = Arc::new(S { long_name: (), foo: () });
let _ = x.long_name; //~ ERROR no field `longname`
let y = S { long_name: (), foo: () };
let _ = y.long_name; //~ ERROR no field `longname`
let a = Some(Arc::new(S { long_name: (), foo: () }));
let _ = a.unwrap().long_name; //~ ERROR no field `longname`
let b = Some(S { long_name: (), foo: () });
let _ = b.unwrap().long_name; //~ ERROR no field `long_name`
let c = Ok::<_, ()>(Arc::new(S { long_name: (), foo: () }));
let _ = c.unwrap().long_name; //~ ERROR no field `longname`
let d = Ok::<_, ()>(S { long_name: (), foo: () });
let _ = d.unwrap().long_name; //~ ERROR no field `long_name`
}