| warning: some fields are not explicitly listed |
| --> $DIR/omitted-patterns.rs:139:9 |
| | |
| LL | VariantNonExhaustive::Bar { x, .. } => {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `y` not listed |
| | |
| = help: ensure that all fields are mentioned explicitly by adding the suggested fields |
| = note: the pattern is of type `VariantNonExhaustive` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:136:12 |
| | |
| LL | #[warn(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| warning: some fields are not explicitly listed |
| --> $DIR/omitted-patterns.rs:144:9 |
| | |
| LL | let FunctionalRecord { first_field, second_field, .. } = FunctionalRecord::default(); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `third_field` not listed |
| | |
| = help: ensure that all fields are mentioned explicitly by adding the suggested fields |
| = note: the pattern is of type `FunctionalRecord` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:143:12 |
| | |
| LL | #[warn(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| warning: some fields are not explicitly listed |
| --> $DIR/omitted-patterns.rs:152:29 |
| | |
| LL | let NestedStruct { bar: NormalStruct { first_field, .. }, .. } = NestedStruct::default(); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `second_field` not listed |
| | |
| = help: ensure that all fields are mentioned explicitly by adding the suggested fields |
| = note: the pattern is of type `NormalStruct` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:151:12 |
| | |
| LL | #[warn(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| warning: some fields are not explicitly listed |
| --> $DIR/omitted-patterns.rs:152:9 |
| | |
| LL | let NestedStruct { bar: NormalStruct { first_field, .. }, .. } = NestedStruct::default(); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `foo` not listed |
| | |
| = help: ensure that all fields are mentioned explicitly by adding the suggested fields |
| = note: the pattern is of type `NestedStruct` and the `non_exhaustive_omitted_patterns` attribute was found |
| |
| warning: some fields are not explicitly listed |
| --> $DIR/omitted-patterns.rs:216:9 |
| | |
| LL | let OnlyUnstableStruct { unstable, .. } = OnlyUnstableStruct::new(); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `unstable2` not listed |
| | |
| = help: ensure that all fields are mentioned explicitly by adding the suggested fields |
| = note: the pattern is of type `OnlyUnstableStruct` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:215:12 |
| | |
| LL | #[warn(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| warning: some fields are not explicitly listed |
| --> $DIR/omitted-patterns.rs:224:9 |
| | |
| LL | let UnstableStruct { stable, stable2, .. } = UnstableStruct::default(); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `unstable` not listed |
| | |
| = help: ensure that all fields are mentioned explicitly by adding the suggested fields |
| = note: the pattern is of type `UnstableStruct` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:223:12 |
| | |
| LL | #[warn(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:55:11 |
| | |
| LL | match non_enum { |
| | ^^^^^^^^ pattern `NonExhaustiveEnum::Struct { .. }` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `NonExhaustiveEnum` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:54:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:63:11 |
| | |
| LL | match non_enum { |
| | ^^^^^^^^ pattern `NonExhaustiveEnum::Tuple(_)` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `NonExhaustiveEnum` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:62:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:87:11 |
| | |
| LL | match (non_enum, true) { |
| | ^^^^^^^^^^^^^^^^ pattern `(NonExhaustiveEnum::Struct { .. }, _)` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `(NonExhaustiveEnum, bool)` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:86:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:102:11 |
| | |
| LL | match (true, non_enum) { |
| | ^^^^^^^^^^^^^^^^ pattern `(_, NonExhaustiveEnum::Struct { .. })` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `(bool, NonExhaustiveEnum)` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:101:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:110:11 |
| | |
| LL | match Some(non_enum) { |
| | ^^^^^^^^^^^^^^ pattern `Some(NonExhaustiveEnum::Struct { .. })` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `Option<NonExhaustiveEnum>` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:109:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:128:11 |
| | |
| LL | match NestedNonExhaustive::B { |
| | ^^^^^^^^^^^^^^^^^^^^^^ patterns `NestedNonExhaustive::C`, `NestedNonExhaustive::A(NonExhaustiveEnum::Tuple(_))` and `NestedNonExhaustive::A(NonExhaustiveEnum::Struct { .. })` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `NestedNonExhaustive` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:127:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:184:11 |
| | |
| LL | match UnstableEnum::Stable { |
| | ^^^^^^^^^^^^^^^^^^^^ pattern `UnstableEnum::Unstable` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `UnstableEnum` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:183:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:209:11 |
| | |
| LL | match OnlyUnstableEnum::Unstable { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern `OnlyUnstableEnum::Unstable2` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `OnlyUnstableEnum` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:208:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0005]: refutable pattern in local binding |
| --> $DIR/omitted-patterns.rs:237:9 |
| | |
| LL | let local_refutable @ NonExhaustiveEnum::Unit = NonExhaustiveEnum::Unit; |
| | ^^^^^^^^^^^^^^^ pattern `_` not covered |
| | |
| = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant |
| = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html |
| = note: the matched value is of type `NonExhaustiveEnum` |
| help: you might want to use `let else` to handle the variant that isn't matched |
| | |
| LL | let local_refutable @ NonExhaustiveEnum::Unit = NonExhaustiveEnum::Unit else { todo!() }; |
| | ++++++++++++++++ |
| |
| error: some variants are not matched explicitly |
| --> $DIR/omitted-patterns.rs:241:11 |
| | |
| LL | match &non_enum { |
| | ^^^^^^^^^ pattern `&NonExhaustiveEnum::Struct { .. }` not covered |
| | |
| = help: ensure that all variants are matched explicitly by adding the suggested match arms |
| = note: the matched value is of type `&NonExhaustiveEnum` and the `non_exhaustive_omitted_patterns` attribute was found |
| note: the lint level is defined here |
| --> $DIR/omitted-patterns.rs:240:12 |
| | |
| LL | #[deny(non_exhaustive_omitted_patterns)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: aborting due to 10 previous errors; 6 warnings emitted |
| |
| For more information about this error, try `rustc --explain E0005`. |