Clean up E0769 explanation

This commit is contained in:
Guillaume Gomez 2020-08-31 20:10:57 +02:00
parent 6c44bcc4ff
commit f3ae96ecd5

View file

@ -1,5 +1,5 @@
A tuple struct or tuple variant was used in a pattern as if it were a A tuple struct or tuple variant was used in a pattern as if it were a struct or
struct or struct variant. struct variant.
Erroneous code example: Erroneous code example:
@ -7,9 +7,13 @@ Erroneous code example:
enum E { enum E {
A(i32), A(i32),
} }
let e = E::A(42); let e = E::A(42);
match e { match e {
E::A { number } => println!("{}", x), E::A { number } => { // error!
println!("{}", number);
}
} }
``` ```
@ -21,12 +25,14 @@ To fix this error, you can use the tuple pattern:
# } # }
# let e = E::A(42); # let e = E::A(42);
match e { match e {
E::A(number) => println!("{}", number), E::A(number) => { // ok!
println!("{}", number);
}
} }
``` ```
Alternatively, you can also use the struct pattern by using the correct Alternatively, you can also use the struct pattern by using the correct field
field names and binding them to new identifiers: names and binding them to new identifiers:
``` ```
# enum E { # enum E {
@ -34,6 +40,8 @@ field names and binding them to new identifiers:
# } # }
# let e = E::A(42); # let e = E::A(42);
match e { match e {
E::A { 0: number } => println!("{}", number), E::A { 0: number } => { // ok!
println!("{}", number);
}
} }
``` ```