Struct rustc_typeck::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<TypeFlags> for TypeFlags

type Output = TypeFlags

fn bitor(self, other: TypeFlags) -> TypeFlags

Returns the union of the two sets of flags.

impl BitXor<TypeFlags> for TypeFlags

type Output = TypeFlags

fn bitxor(self, other: TypeFlags) -> TypeFlags

Returns the left flags, but with all the right flags toggled.

impl BitAnd<TypeFlags> for TypeFlags

type Output = TypeFlags

fn bitand(self, other: TypeFlags) -> TypeFlags

Returns the intersection between the two sets of flags.

impl Sub<TypeFlags> for TypeFlags

type Output = TypeFlags

fn sub(self, other: TypeFlags) -> TypeFlags

Returns the set difference of the two sets of flags.

impl Not for TypeFlags

type Output = TypeFlags

fn not(self) -> TypeFlags

Returns the complement of this set of flags.

impl Debug for TypeFlags

fn fmt(&self, f: &mut Formatter) -> Result<(), Error>

Derived Implementations

impl Hash for TypeFlags

fn hash<__H>(&self, __arg_0: &mut __H) where __H: Hasher

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

impl Ord for TypeFlags

fn cmp(&self, __arg_0: &TypeFlags) -> Ordering

impl PartialOrd<TypeFlags> for TypeFlags

fn partial_cmp(&self, __arg_0: &TypeFlags) -> Option<Ordering>

fn lt(&self, __arg_0: &TypeFlags) -> bool

fn le(&self, __arg_0: &TypeFlags) -> bool

fn gt(&self, __arg_0: &TypeFlags) -> bool

fn ge(&self, __arg_0: &TypeFlags) -> bool

impl Clone for TypeFlags

fn clone(&self) -> TypeFlags

fn clone_from(&mut self, source: &Self)

impl Eq for TypeFlags

impl PartialEq<TypeFlags> for TypeFlags

fn eq(&self, __arg_0: &TypeFlags) -> bool

fn ne(&self, __arg_0: &TypeFlags) -> bool

impl Copy for TypeFlags