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
23 = note: the matched value is of type `E`
25 error[E0005]: refutable pattern in local binding: `B` and `C` not covered
26 --> $DIR/non-exhaustive-defined-here.rs:36:9
41 | |_- `E` defined here
44 | ^^^^ patterns `B` and `C` not covered
46 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
47 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
48 = note: the matched value is of type `E`
49 help: you might want to use `if let` to ignore the variant that isn't matched
51 LL | if let E::A = e { /* */ }
52 | ~~~~~~~~~~~~~~~~~~~~~~~~~
54 error[E0004]: non-exhaustive patterns: `&B` and `&C` not covered
55 --> $DIR/non-exhaustive-defined-here.rs:40:11
70 | |_- `E` defined here
73 | ^ patterns `&B` and `&C` not covered
75 = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
76 = note: the matched value is of type `&E`
78 error[E0005]: refutable pattern in local binding: `&B` and `&C` not covered
79 --> $DIR/non-exhaustive-defined-here.rs:44:9
94 | |_- `E` defined here
97 | ^^^^ patterns `&B` and `&C` not covered
99 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
100 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
101 = note: the matched value is of type `&E`
102 help: you might want to use `if let` to ignore the variant that isn't matched
104 LL | if let E::A = e { /* */ }
105 | ~~~~~~~~~~~~~~~~~~~~~~~~~
107 error[E0004]: non-exhaustive patterns: `&&mut &B` and `&&mut &C` not covered
108 --> $DIR/non-exhaustive-defined-here.rs:48:11
123 | |_- `E` defined here
126 | ^ patterns `&&mut &B` and `&&mut &C` not covered
128 = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
129 = note: the matched value is of type `&&mut &E`
131 error[E0005]: refutable pattern in local binding: `&&mut &B` and `&&mut &C` not covered
132 --> $DIR/non-exhaustive-defined-here.rs:52:9
147 | |_- `E` defined here
150 | ^^^^ patterns `&&mut &B` and `&&mut &C` not covered
152 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
153 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
154 = note: the matched value is of type `&&mut &E`
155 help: you might want to use `if let` to ignore the variant that isn't matched
157 LL | if let E::A = e { /* */ }
160 error[E0004]: non-exhaustive patterns: `None` not covered
161 --> $DIR/non-exhaustive-defined-here.rs:65:11
171 | |_- `Opt` defined here
174 | ^ pattern `None` not covered
176 = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
177 = note: the matched value is of type `Opt`
179 error[E0005]: refutable pattern in local binding: `None` not covered
180 --> $DIR/non-exhaustive-defined-here.rs:69:9
190 | |_- `Opt` defined here
192 LL | let Opt::Some(ref _x) = e;
193 | ^^^^^^^^^^^^^^^^^ pattern `None` not covered
195 = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
196 = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
197 = note: the matched value is of type `Opt`
198 help: you might want to use `if let` to ignore the variant that isn't matched
200 LL | if let Opt::Some(ref _x) = e { /* */ }
201 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
203 error: aborting due to 8 previous errors
205 Some errors have detailed explanations: E0004, E0005.
206 For more information about an error, try `rustc --explain E0004`.