diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-02-14 09:54:01 +1100 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-02-17 09:51:37 +1100 |
| commit | 8403d39dce2b6875381974a3f413c0c610f2ca1a (patch) | |
| tree | e194c8a109408d3d28aa7a3a881ecc11440bb873 /compiler/rustc_mir_dataflow/src/impls | |
| parent | 23dbff88f6ecf7b92129ec3cfc41971b5cd9579c (diff) | |
Add `SwitchTargetValue`.
This is much clearer than `Option<u128>`.
Diffstat (limited to 'compiler/rustc_mir_dataflow/src/impls')
| -rw-r--r-- | compiler/rustc_mir_dataflow/src/impls/initialized.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/rustc_mir_dataflow/src/impls/initialized.rs b/compiler/rustc_mir_dataflow/src/impls/initialized.rs index 3be450a0b3f..f2fbadaac09 100644 --- a/compiler/rustc_mir_dataflow/src/impls/initialized.rs +++ b/compiler/rustc_mir_dataflow/src/impls/initialized.rs @@ -4,7 +4,9 @@ use rustc_abi::VariantIdx; use rustc_index::Idx; use rustc_index::bit_set::{DenseBitSet, MixedBitSet}; use rustc_middle::bug; -use rustc_middle::mir::{self, Body, CallReturnPlaces, Location, TerminatorEdges}; +use rustc_middle::mir::{ + self, Body, CallReturnPlaces, Location, SwitchTargetValue, TerminatorEdges, +}; use rustc_middle::ty::util::Discr; use rustc_middle::ty::{self, TyCtxt}; use tracing::{debug, instrument}; @@ -424,7 +426,7 @@ impl<'tcx> Analysis<'tcx> for MaybeInitializedPlaces<'_, 'tcx> { state: &mut Self::Domain, edge: SwitchIntTarget, ) { - if let Some(value) = edge.value { + if let SwitchTargetValue::Normal(value) = edge.value { // Kill all move paths that correspond to variants we know to be inactive along this // particular outgoing edge of a `SwitchInt`. drop_flag_effects::on_all_inactive_variants( @@ -537,7 +539,7 @@ impl<'tcx> Analysis<'tcx> for MaybeUninitializedPlaces<'_, 'tcx> { state: &mut Self::Domain, edge: SwitchIntTarget, ) { - if let Some(value) = edge.value { + if let SwitchTargetValue::Normal(value) = edge.value { // Mark all move paths that correspond to variants other than this one as maybe // uninitialized (in reality, they are *definitely* uninitialized). drop_flag_effects::on_all_inactive_variants( |
