// run-rustfix fn expect(_: T) {} fn main() { let x = Some(&()); expect::>(x); //~^ ERROR mismatched types //~| HELP use `Option::copied` to copy the value inside the `Option` let x = Ok(&()); expect::>(x); //~^ ERROR mismatched types //~| HELP use `Result::copied` to copy the value inside the `Result` let s = String::new(); let x = Some(&s); expect::>(x); //~^ ERROR mismatched types //~| HELP use `Option::cloned` to clone the value inside the `Option` let x = Ok(&s); expect::>(x); //~^ ERROR mismatched types //~| HELP use `Result::cloned` to clone the value inside the `Result` let s = String::new(); let x = Some(s.clone()); let y = Some(&s); println!("{}", x == y); //~^ ERROR mismatched types //~| HELP use `Option::as_ref()` to convert `Option` to `Option<&String>` }