| //@ edition: 2021 | |
| //@ run-rustfix | |
| #![allow(unused)] | |
| struct Foo; | |
| impl Foo { | |
| fn get(&self) -> u8 { | |
| 42 | |
| } | |
| } | |
| fn test_result_in_result() -> Result<(), ()> { | |
| let res: Result<_, ()> = Ok(Foo); | |
| res?.get(); | |
| //~^ ERROR no method named `get` found for enum `Result<T, E>` in the current scope | |
| //~| HELP use the `?` operator | |
| Ok(()) | |
| } | |
| async fn async_test_result_in_result() -> Result<(), ()> { | |
| let res: Result<_, ()> = Ok(Foo); | |
| res?.get(); | |
| //~^ ERROR no method named `get` found for enum `Result<T, E>` in the current scope | |
| //~| HELP use the `?` operator | |
| Ok(()) | |
| } | |
| fn test_result_in_unit_return() { | |
| let res: Result<_, ()> = Ok(Foo); | |
| res.expect("REASON").get(); | |
| //~^ ERROR no method named `get` found for enum `Result<T, E>` in the current scope | |
| //~| HELP consider using `Result::expect` to unwrap the `Foo` value, panicking if the value is a `Result::Err` | |
| } | |
| async fn async_test_result_in_unit_return() { | |
| let res: Result<_, ()> = Ok(Foo); | |
| res.expect("REASON").get(); | |
| //~^ ERROR no method named `get` found for enum `Result<T, E>` in the current scope | |
| //~| HELP consider using `Result::expect` to unwrap the `Foo` value, panicking if the value is a `Result::Err` | |
| } | |
| fn test_option_in_option() -> Option<()> { | |
| let res: Option<_> = Some(Foo); | |
| res?.get(); | |
| //~^ ERROR no method named `get` found for enum `Option<T>` in the current scope | |
| //~| HELP use the `?` operator | |
| Some(()) | |
| } | |
| fn test_option_in_unit_return() { | |
| let res: Option<_> = Some(Foo); | |
| res.expect("REASON").get(); | |
| //~^ ERROR no method named `get` found for enum `Option<T>` in the current scope | |
| //~| HELP consider using `Option::expect` to unwrap the `Foo` value, panicking if the value is an `Option::None` | |
| } | |
| fn test_option_private_method() { | |
| let res: Option<_> = Some(vec![1, 2, 3]); | |
| res.expect("REASON").len(); | |
| //~^ ERROR method `len` is private | |
| //~| HELP consider using `Option::expect` to unwrap the `Vec<{integer}>` value, panicking if the value is an `Option::None` | |
| } | |
| fn main() {} |