pub struct DiscriminantInfo {
pub source_of: FxHashMap<usize, usize>,
pub variant_count_of: FxHashMap<usize, usize>,
}Expand description
Enum discriminant metadata used by [check_switch_transition].
source_of maps a discriminant local to the ADT local it was read from
(via Rvalue::Discriminant). variant_count_of tracks the number of
variants for each ADT local, used to determine whether a SwitchInt
otherwise-target is uniquely determined.
Fields§
§source_of: FxHashMap<usize, usize>§variant_count_of: FxHashMap<usize, usize>Trait Implementations§
Source§impl Clone for DiscriminantInfo
impl Clone for DiscriminantInfo
Source§fn clone(&self) -> DiscriminantInfo
fn clone(&self) -> DiscriminantInfo
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DiscriminantInfo
impl Debug for DiscriminantInfo
Source§impl Default for DiscriminantInfo
impl Default for DiscriminantInfo
Source§fn default() -> DiscriminantInfo
fn default() -> DiscriminantInfo
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for DiscriminantInfo
impl RefUnwindSafe for DiscriminantInfo
impl Send for DiscriminantInfo
impl Sync for DiscriminantInfo
impl Unpin for DiscriminantInfo
impl UnwindSafe for DiscriminantInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more