diff options
| author | bors <bors@rust-lang.org> | 2024-09-04 22:58:51 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-09-04 22:58:51 +0000 |
| commit | 009e73825af0e59ad4fc603562e038b3dbd6593a (patch) | |
| tree | 5015384a0ad20ed06a185717c3155722515a218d /compiler/rustc_pattern_analysis/src/rustc.rs | |
| parent | 4ac7bcbaad8d6fd7a51bdf1b696cbc3ba4c796cf (diff) | |
| parent | 2e005112fdd15af33f76eb2fd839c4f7f646d3ac (diff) | |
| download | rust-009e73825af0e59ad4fc603562e038b3dbd6593a.tar.gz rust-009e73825af0e59ad4fc603562e038b3dbd6593a.zip | |
Auto merge of #129936 - matthiaskrgr:rollup-0s8xycb, r=matthiaskrgr
Rollup of 9 pull requests Successful merges: - #127692 (Suggest `impl Trait` for References to Bare Trait in Function Header) - #128701 (Don't Suggest Labeling `const` and `unsafe` Blocks ) - #128934 (Non-exhaustive structs may be empty) - #129630 (Document the broken C ABI of `wasm32-unknown-unknown`) - #129863 (update comment regarding TargetOptions.features) - #129896 (do not attempt to prove unknowable goals) - #129926 (Move `SanityCheck` and `MirPass`) - #129928 (rustc_driver_impl: remove some old dead logic) - #129930 (include 1.80.1 release notes on master) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/rustc.rs')
| -rw-r--r-- | compiler/rustc_pattern_analysis/src/rustc.rs | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/compiler/rustc_pattern_analysis/src/rustc.rs b/compiler/rustc_pattern_analysis/src/rustc.rs index d7885e05a2f..6c09f97bfe7 100644 --- a/compiler/rustc_pattern_analysis/src/rustc.rs +++ b/compiler/rustc_pattern_analysis/src/rustc.rs @@ -229,17 +229,11 @@ impl<'p, 'tcx: 'p> RustcPatCtxt<'p, 'tcx> { } else { let variant = &adt.variant(RustcPatCtxt::variant_index_for_adt(&ctor, *adt)); - - // In the cases of either a `#[non_exhaustive]` field list or a non-public - // field, we skip uninhabited fields in order not to reveal the - // uninhabitedness of the whole variant. - let is_non_exhaustive = - variant.is_field_list_non_exhaustive() && !adt.did().is_local(); let tys = cx.variant_sub_tys(ty, variant).map(|(field, ty)| { let is_visible = adt.is_enum() || field.vis.is_accessible_from(cx.module, cx.tcx); let is_uninhabited = cx.is_uninhabited(*ty); - let skip = is_uninhabited && (!is_visible || is_non_exhaustive); + let skip = is_uninhabited && !is_visible; (ty, PrivateUninhabitedField(skip)) }); cx.dropless_arena.alloc_from_iter(tys) |
