error[E0004]: non-exhaustive patterns: `C(QA)` not covered --> $DIR/issue-40221.rs:11:11 | LL | match proto { | ^^^^^ pattern `C(QA)` not covered | note: `P` defined here --> $DIR/issue-40221.rs:2:5 | LL | enum P { | - LL | C(PC), | ^ not covered = note: the matched value is of type `P` help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms | LL ~ P::C(PC::Q) => (), LL ~ C(QA) => todo!(), | error: aborting due to previous error For more information about this error, try `rustc --explain E0004`.