Struct rustc::middle::ty::TypeFlagsUnstable
[-] [+]
[src]
pub struct TypeFlags { // some fields omitted }
Methods
impl TypeFlags
fn empty() -> TypeFlags
Returns an empty set of flags.
fn all() -> TypeFlags
Returns the set containing all flags.
fn bits(&self) -> u32
Returns the raw value of the flags currently stored.
fn from_bits(bits: u32) -> Option<TypeFlags>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
fn from_bits_truncate(bits: u32) -> TypeFlags
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
fn is_all(&self) -> bool
Returns true
if all flags are currently set.
fn intersects(&self, other: TypeFlags) -> bool
Returns true
if there are flags common to both self
and other
.
fn contains(&self, other: TypeFlags) -> bool
Returns true
all of the flags in other
are contained within self
.
fn insert(&mut self, other: TypeFlags)
Inserts the specified flags in-place.
fn remove(&mut self, other: TypeFlags)
Removes the specified flags in-place.
fn toggle(&mut self, other: TypeFlags)
Toggles the specified flags in-place.
Trait Implementations
impl BitOr for TypeFlags
type Output = TypeFlags
fn bitor(self, other: TypeFlags) -> TypeFlags
Returns the union of the two sets of flags.
impl BitXor for TypeFlags
type Output = TypeFlags
fn bitxor(self, other: TypeFlags) -> TypeFlags
Returns the left flags, but with all the right flags toggled.
impl BitAnd for TypeFlags
type Output = TypeFlags
fn bitand(self, other: TypeFlags) -> TypeFlags
Returns the intersection between the two sets of flags.
impl Sub for TypeFlags
type Output = TypeFlags
fn sub(self, other: TypeFlags) -> TypeFlags
Returns the set difference of the two sets of flags.