1 error[E0004]: non-exhaustive patterns: `B` and `C` not covered
2 --> $DIR/non-exhaustive-defined-here.rs:32:11
17 | |_- `E` defined here
20 | ^^ patterns `B` and `C` not covered
22 = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
24 error[E0005]: refutable pattern in local binding: `B` and `C` not covered
25 --> $DIR/non-exhaustive-defined-here.rs:36:9
40 | |_- `E` defined here
43 | ^^^^ patterns `B` and `C` not covered
45 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
46 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
47 help: you might want to use `if let` to ignore the variant that isn't matched
49 LL | if let E::A = e { /* */ }
50 | ^^^^^^^^^^^^^^^^^^^^^^^^^
52 error[E0004]: non-exhaustive patterns: `&B` and `&C` not covered
53 --> $DIR/non-exhaustive-defined-here.rs:40:11
68 | |_- `E` defined here
71 | ^ patterns `&B` and `&C` not covered
73 = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
75 error[E0005]: refutable pattern in local binding: `&B` and `&C` not covered
76 --> $DIR/non-exhaustive-defined-here.rs:44:9
91 | |_- `E` defined here
94 | ^^^^ patterns `&B` and `&C` not covered
96 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
97 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
98 help: you might want to use `if let` to ignore the variant that isn't matched
100 LL | if let E::A = e { /* */ }
101 | ^^^^^^^^^^^^^^^^^^^^^^^^^
103 error[E0004]: non-exhaustive patterns: `&&mut &B` and `&&mut &C` not covered
104 --> $DIR/non-exhaustive-defined-here.rs:48:11
119 | |_- `E` defined here
122 | ^ patterns `&&mut &B` and `&&mut &C` not covered
124 = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
126 error[E0005]: refutable pattern in local binding: `&&mut &B` and `&&mut &C` not covered
127 --> $DIR/non-exhaustive-defined-here.rs:52:9
142 | |_- `E` defined here
145 | ^^^^ patterns `&&mut &B` and `&&mut &C` not covered
147 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
148 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
149 help: you might want to use `if let` to ignore the variant that isn't matched
151 LL | if let E::A = e { /* */ }
154 error[E0004]: non-exhaustive patterns: `None` not covered
155 --> $DIR/non-exhaustive-defined-here.rs:65:11
165 | |_- `Opt` defined here
168 | ^ pattern `None` not covered
170 = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
172 error[E0005]: refutable pattern in local binding: `None` not covered
173 --> $DIR/non-exhaustive-defined-here.rs:69:9
183 | |_- `Opt` defined here
185 LL | let Opt::Some(ref _x) = e;
186 | ^^^^^^^^^^^^^^^^^ pattern `None` not covered
188 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
189 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
190 help: you might want to use `if let` to ignore the variant that isn't matched
192 LL | if let Opt::Some(ref _x) = e { /* */ }
193 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
195 error: aborting due to 8 previous errors
197 Some errors have detailed explanations: E0004, E0005.
198 For more information about an error, try `rustc --explain E0004`.