]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_error_codes/src/error_codes/E0769.md
Rollup merge of #93556 - dtolnay:trailingcomma, r=cjgillot
[rust.git] / compiler / rustc_error_codes / src / error_codes / E0769.md
1 A tuple struct or tuple variant was used in a pattern as if it were a struct or
2 struct variant.
3
4 Erroneous code example:
5
6 ```compile_fail,E0769
7 enum E {
8     A(i32),
9 }
10
11 let e = E::A(42);
12
13 match e {
14     E::A { number } => { // error!
15         println!("{}", number);
16     }
17 }
18 ```
19
20 To fix this error, you can use the tuple pattern:
21
22 ```
23 # enum E {
24 #     A(i32),
25 # }
26 # let e = E::A(42);
27 match e {
28     E::A(number) => { // ok!
29         println!("{}", number);
30     }
31 }
32 ```
33
34 Alternatively, you can also use the struct pattern by using the correct field
35 names and binding them to new identifiers:
36
37 ```
38 # enum E {
39 #     A(i32),
40 # }
41 # let e = E::A(42);
42 match e {
43     E::A { 0: number } => { // ok!
44         println!("{}", number);
45     }
46 }
47 ```