rust/tests/ui/did_you_mean/issue-42764.rs

31 lines
685 B
Rust

enum DoubleOption<T> {
FirstSome(T),
AlternativeSome(T),
Nothing,
}
fn this_function_expects_a_double_option<T>(d: DoubleOption<T>) {}
fn main() {
let n: usize = 42;
this_function_expects_a_double_option(n);
//~^ ERROR mismatched types
//~| HELP try wrapping the expression in a variant of `DoubleOption`
}
// But don't issue the "try using a variant" help if the one-"variant" ADT is
// actually a one-field struct.
struct Payload;
struct Wrapper { payload: Payload }
struct Context { wrapper: Wrapper }
fn overton() {
let _c = Context { wrapper: Payload{} };
//~^ ERROR mismatched types
//~| try wrapping the expression in `Wrapper`
}