pub struct AdtFlags {
bits: u32,
}
Fields
bits: u32
Implementations
sourceimpl AdtFlags
impl AdtFlags
pub const NO_ADT_FLAGS: AdtFlags = AdtFlags{bits: 0,}
sourcepub const HAS_CTOR: AdtFlags = AdtFlags{bits: 1 << 3,}
pub const HAS_CTOR: AdtFlags = AdtFlags{bits: 1 << 3,}
Indicates whether the ADT is a struct and has a constructor.
sourcepub const IS_PHANTOM_DATA: AdtFlags = AdtFlags{bits: 1 << 4,}
pub const IS_PHANTOM_DATA: AdtFlags = AdtFlags{bits: 1 << 4,}
Indicates whether the type is PhantomData
.
sourcepub const IS_FUNDAMENTAL: AdtFlags = AdtFlags{bits: 1 << 5,}
pub const IS_FUNDAMENTAL: AdtFlags = AdtFlags{bits: 1 << 5,}
Indicates whether the type has a #[fundamental]
attribute.
sourcepub const IS_MANUALLY_DROP: AdtFlags = AdtFlags{bits: 1 << 7,}
pub const IS_MANUALLY_DROP: AdtFlags = AdtFlags{bits: 1 << 7,}
Indicates whether the type is ManuallyDrop
.
sourcepub const IS_VARIANT_LIST_NON_EXHAUSTIVE: AdtFlags = AdtFlags{bits: 1 << 8,}
pub const IS_VARIANT_LIST_NON_EXHAUSTIVE: AdtFlags = AdtFlags{bits: 1 << 8,}
Indicates whether the variant list of this ADT is #[non_exhaustive]
.
(i.e., this flag is never set unless this ADT is an enum).
sourcepub fn from_bits(bits: u32) -> Option<AdtFlags>
pub fn from_bits(bits: u32) -> Option<AdtFlags>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u32) -> AdtFlags
pub const fn from_bits_truncate(bits: u32) -> AdtFlags
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u32) -> AdtFlags
pub const unsafe fn from_bits_unchecked(bits: u32) -> AdtFlags
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
sourcepub const fn intersects(&self, other: AdtFlags) -> bool
pub const fn intersects(&self, other: AdtFlags) -> bool
Returns true
if there are flags common to both self
and other
.
Trait Implementations
sourceimpl BitAndAssign<AdtFlags> for AdtFlags
impl BitAndAssign<AdtFlags> for AdtFlags
sourcefn bitand_assign(&mut self, other: AdtFlags)
fn bitand_assign(&mut self, other: AdtFlags)
Disables all flags disabled in the set.
sourceimpl BitOrAssign<AdtFlags> for AdtFlags
impl BitOrAssign<AdtFlags> for AdtFlags
sourcefn bitor_assign(&mut self, other: AdtFlags)
fn bitor_assign(&mut self, other: AdtFlags)
Adds the set of flags.
sourceimpl BitXorAssign<AdtFlags> for AdtFlags
impl BitXorAssign<AdtFlags> for AdtFlags
sourcefn bitxor_assign(&mut self, other: AdtFlags)
fn bitxor_assign(&mut self, other: AdtFlags)
Toggles the set of flags.
sourceimpl Extend<AdtFlags> for AdtFlags
impl Extend<AdtFlags> for AdtFlags
sourcefn extend<T: IntoIterator<Item = AdtFlags>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = AdtFlags>>(&mut self, iterator: T)
Extends a collection with the contents of an iterator. Read more
sourcefn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Extends a collection with exactly one element.
sourcefn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
sourceimpl FromIterator<AdtFlags> for AdtFlags
impl FromIterator<AdtFlags> for AdtFlags
sourceimpl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AdtFlags
impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for AdtFlags
fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
sourceimpl Ord for AdtFlags
impl Ord for AdtFlags
sourceimpl PartialOrd<AdtFlags> for AdtFlags
impl PartialOrd<AdtFlags> for AdtFlags
sourcefn partial_cmp(&self, other: &AdtFlags) -> Option<Ordering>
fn partial_cmp(&self, other: &AdtFlags) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl SubAssign<AdtFlags> for AdtFlags
impl SubAssign<AdtFlags> for AdtFlags
sourcefn sub_assign(&mut self, other: AdtFlags)
fn sub_assign(&mut self, other: AdtFlags)
Disables all flags enabled in the set.
impl Copy for AdtFlags
impl Eq for AdtFlags
impl StructuralEq for AdtFlags
impl StructuralPartialEq for AdtFlags
Auto Trait Implementations
impl RefUnwindSafe for AdtFlags
impl Send for AdtFlags
impl Sync for AdtFlags
impl Unpin for AdtFlags
impl UnwindSafe for AdtFlags
Blanket Implementations
sourceimpl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for T where
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for T where
T: Copy,
fn allocate_on(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T]ⓘNotable traits for &[u8]impl<'_> Read for &[u8]impl<'_> Write for &mut [u8]
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Ctxt, T> DepNodeParams<Ctxt> for T where
Ctxt: DepContext,
T: for<'a> HashStable<StableHashingContext<'a>> + Debug,
impl<Ctxt, T> DepNodeParams<Ctxt> for T where
Ctxt: DepContext,
T: for<'a> HashStable<StableHashingContext<'a>> + Debug,
default fn fingerprint_style() -> FingerprintStyle
sourcedefault fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint
default fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint
This method turns the parameters of a DepNodeConstructor into an opaque Fingerprint to be used in DepNode. Not all DepNodeParams support being turned into a Fingerprint (they don’t need to if the corresponding DepNode is anonymous). Read more
default fn to_debug_str(&self, Ctxt) -> String
sourcedefault fn recover(Ctxt, &DepNode<<Ctxt as DepContext>::DepKind>) -> Option<T>
default fn recover(Ctxt, &DepNode<<Ctxt as DepContext>::DepKind>) -> Option<T>
This method tries to recover the query key from the given DepNode
,
something which is needed when forcing DepNode
s during red-green
evaluation. The query system will only call this method if
fingerprint_style()
is not FingerprintStyle::Opaque
.
It is always valid to return None
here, in which case incremental
compilation will treat the query as having changed instead of forcing it. Read more
sourceimpl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(
iter: I,
f: F
) -> <T as InternIteratorElement<T, R>>::Output where
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
sourceimpl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
impl<'a, T> Captures<'a> for T where
T: ?Sized,
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 4 bytes