Closed
Description
Given the following code: link
enum E {
One(i32, i32)
}
fn main() {
let var = E::One;
if let E::One(var1, var2) = var {
println!("{var1} {var2}");
}
}
The current output is:
Compiling playground v0.0.1 (/playground)
error[[E0308]](https://doc.rust-lang.org/nightly/error-index.html#E0308): mismatched types
--> src/main.rs:7:12
|
7 | if let E::One(var1, var2) = var {
| ^^^^^^^^^^^^^^^^^^ --- this expression has type `fn(i32, i32) -> E {E::One}`
| |
| expected fn item, found enum `E`
|
= note: expected fn item `fn(i32, i32) -> E {E::One}`
found enum `E`
For more information about this error, try `rustc --explain E0308`.
error: could not compile `playground` due to previous error
Ideally the output should suggest to the user that they need to initialize the enum variant's value in order to use the if let
.