Struct rustc::ty::TypeFlags []

pub struct TypeFlags { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (rustc_private)

Methods

impl TypeFlags

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_PARAMS: TypeFlags = TypeFlags{bits: 1 << 0,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_SELF: TypeFlags = TypeFlags{bits: 1 << 1,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_TY_INFER: TypeFlags = TypeFlags{bits: 1 << 2,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_RE_INFER: TypeFlags = TypeFlags{bits: 1 << 3,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_RE_SKOL: TypeFlags = TypeFlags{bits: 1 << 4,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_RE_EARLY_BOUND: TypeFlags = TypeFlags{bits: 1 << 5,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_FREE_REGIONS: TypeFlags = TypeFlags{bits: 1 << 6,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_TY_ERR: TypeFlags = TypeFlags{bits: 1 << 7,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_PROJECTION: TypeFlags = TypeFlags{bits: 1 << 8,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_TY_CLOSURE: TypeFlags = TypeFlags{bits: 1 << 9,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_LOCAL_NAMES: TypeFlags = TypeFlags{bits: 1 << 10,}

🔬 This is a nightly-only experimental API. (rustc_private)
KEEP_IN_LOCAL_TCX: TypeFlags = TypeFlags{bits: 1 << 11,}

🔬 This is a nightly-only experimental API. (rustc_private)
HAS_NORMALIZABLE_PROJECTION: TypeFlags = TypeFlags{bits: 1 << 12,}

🔬 This is a nightly-only experimental API. (rustc_private)
NEEDS_SUBST: TypeFlags = TypeFlags{bits:
              <TypeFlags>::HAS_PARAMS.bits | <TypeFlags>::HAS_SELF.bits |
                  <TypeFlags>::HAS_RE_EARLY_BOUND.bits,}

🔬 This is a nightly-only experimental API. (rustc_private)
NOMINAL_FLAGS: TypeFlags = TypeFlags{bits:
              <TypeFlags>::HAS_PARAMS.bits | <TypeFlags>::HAS_SELF.bits |
                  <TypeFlags>::HAS_TY_INFER.bits |
                  <TypeFlags>::HAS_RE_INFER.bits |
                  <TypeFlags>::HAS_RE_SKOL.bits |
                  <TypeFlags>::HAS_RE_EARLY_BOUND.bits |
                  <TypeFlags>::HAS_FREE_REGIONS.bits |
                  <TypeFlags>::HAS_TY_ERR.bits |
                  <TypeFlags>::HAS_PROJECTION.bits |
                  <TypeFlags>::HAS_TY_CLOSURE.bits |
                  <TypeFlags>::HAS_LOCAL_NAMES.bits |
                  <TypeFlags>::KEEP_IN_LOCAL_TCX.bits,}

🔬 This is a nightly-only experimental API. (rustc_private)
SIZEDNESS_CACHED: TypeFlags = TypeFlags{bits: 1 << 16,}

🔬 This is a nightly-only experimental API. (rustc_private)
IS_SIZED: TypeFlags = TypeFlags{bits: 1 << 17,}

🔬 This is a nightly-only experimental API. (rustc_private)
MOVENESS_CACHED: TypeFlags = TypeFlags{bits: 1 << 18,}

🔬 This is a nightly-only experimental API. (rustc_private)
MOVES_BY_DEFAULT: TypeFlags = TypeFlags{bits: 1 << 19,}

🔬 This is a nightly-only experimental API. (rustc_private)

Returns an empty set of flags.

🔬 This is a nightly-only experimental API. (rustc_private)

Returns the set containing all flags.

🔬 This is a nightly-only experimental API. (rustc_private)

Returns the raw value of the flags currently stored.

🔬 This is a nightly-only experimental API. (rustc_private)

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

🔬 This is a nightly-only experimental API. (rustc_private)

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

🔬 This is a nightly-only experimental API. (rustc_private)

Returns true if no flags are currently stored.

🔬 This is a nightly-only experimental API. (rustc_private)

Returns true if all flags are currently set.

🔬 This is a nightly-only experimental API. (rustc_private)

Returns true if there are flags common to both self and other.

🔬 This is a nightly-only experimental API. (rustc_private)

Returns true if all of the flags in other are contained within self.

🔬 This is a nightly-only experimental API. (rustc_private)

Inserts the specified flags in-place.

🔬 This is a nightly-only experimental API. (rustc_private)

Removes the specified flags in-place.

🔬 This is a nightly-only experimental API. (rustc_private)

Toggles the specified flags in-place.

Trait Implementations

impl Debug for TypeFlags
[src]

Formats the value using the given formatter.

impl Copy for TypeFlags

impl PartialEq for TypeFlags

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for TypeFlags

impl Clone for TypeFlags

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialOrd for TypeFlags

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for TypeFlags

This method returns an Ordering between self and other. Read more

impl Hash for TypeFlags

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.

impl BitOr for TypeFlags

The resulting type after applying the | operator

Returns the union of the two sets of flags.

impl BitXor for TypeFlags

The resulting type after applying the ^ operator

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

impl BitAnd for TypeFlags

The resulting type after applying the & operator

Returns the intersection between the two sets of flags.

impl Sub for TypeFlags

The resulting type after applying the - operator

Returns the set difference of the two sets of flags.

impl Not for TypeFlags

The resulting type after applying the ! operator

Returns the complement of this set of flags.