[]Struct rustc::ty::TypeFlags

pub struct TypeFlags {
    bits: u32,
}
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Fields

bits: u32
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Methods

impl TypeFlags

pub const HAS_PARAMS: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_TY_INFER: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_RE_INFER: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_RE_PLACEHOLDER: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_RE_EARLY_BOUND: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Does this have any ReEarlyBound regions? Used to determine whether substitition is required, since those represent regions that are bound in a ty::Generics and hence may be substituted.

pub const HAS_FREE_REGIONS: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Does this have any region that "appears free" in the type? Basically anything but ReLateBound and ReErased.

pub const HAS_TY_ERR: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Is an error type reachable?

pub const HAS_PROJECTION: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_TY_CLOSURE: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_FREE_LOCAL_NAMES: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

true if there are "names" of types and regions and so forth that are local to a particular fn

pub const KEEP_IN_LOCAL_TCX: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Present if the type belongs in a local type context. Only set for Infer other than Fresh.

pub const HAS_RE_LATE_BOUND: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Does this have any ReLateBound regions? Used to check if a global bound is safe to evaluate.

pub const HAS_TY_PLACEHOLDER: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_CT_INFER: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const HAS_CT_PLACEHOLDER: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const NEEDS_SUBST: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub const NOMINAL_FLAGS: TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Flags representing the nominal content of a type, computed by FlagsComputation. If you add a new nominal flag, it should be added here too.

pub const fn empty() -> TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Returns an empty set of flags

pub const fn all() -> TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Returns the set containing all flags.

pub const fn bits(&self) -> u32

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Returns the raw value of the flags currently stored.

pub fn from_bits(bits: u32) -> Option<TypeFlags>

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

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

pub const fn from_bits_truncate(bits: u32) -> TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

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

pub const unsafe fn from_bits_unchecked(bits: u32) -> TypeFlags

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).

pub const fn is_empty(&self) -> bool

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Returns true if no flags are currently stored.

pub const fn is_all(&self) -> bool

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Returns true if all flags are currently set.

pub const fn intersects(&self, other: TypeFlags) -> bool

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

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

pub const fn contains(&self, other: TypeFlags) -> bool

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

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

pub fn insert(&mut self, other: TypeFlags)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Inserts the specified flags in-place.

pub fn remove(&mut self, other: TypeFlags)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Removes the specified flags in-place.

pub fn toggle(&mut self, other: TypeFlags)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Toggles the specified flags in-place.

pub fn set(&mut self, other: TypeFlags, value: bool)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Inserts or removes the specified flags depending on the passed value.

Trait Implementations

impl Binary for TypeFlags

impl BitAnd<TypeFlags> for TypeFlags

type Output = TypeFlags

The resulting type after applying the & operator.

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

Returns the intersection between the two sets of flags.

impl BitAndAssign<TypeFlags> for TypeFlags

fn bitand_assign(&mut self, other: TypeFlags)

Disables all flags disabled in the set.

impl BitOr<TypeFlags> for TypeFlags

type Output = TypeFlags

The resulting type after applying the | operator.

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

Returns the union of the two sets of flags.

impl BitOrAssign<TypeFlags> for TypeFlags

fn bitor_assign(&mut self, other: TypeFlags)

Adds the set of flags.

impl BitXor<TypeFlags> for TypeFlags

type Output = TypeFlags

The resulting type after applying the ^ operator.

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

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

impl BitXorAssign<TypeFlags> for TypeFlags

fn bitxor_assign(&mut self, other: TypeFlags)

Toggles the set of flags.

impl Clone for TypeFlags

impl Copy for TypeFlags

impl Debug for TypeFlags

impl Eq for TypeFlags

impl Extend<TypeFlags> for TypeFlags

impl FromIterator<TypeFlags> for TypeFlags

impl Hash for TypeFlags

impl LowerHex for TypeFlags

impl Not for TypeFlags

type Output = TypeFlags

The resulting type after applying the ! operator.

fn not(self) -> TypeFlags

Returns the complement of this set of flags.

impl Octal for TypeFlags

impl Ord for TypeFlags

impl PartialEq<TypeFlags> for TypeFlags

impl PartialOrd<TypeFlags> for TypeFlags

impl StructuralEq for TypeFlags

impl StructuralPartialEq for TypeFlags

impl Sub<TypeFlags> for TypeFlags

type Output = TypeFlags

The resulting type after applying the - operator.

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

Returns the set difference of the two sets of flags.

impl SubAssign<TypeFlags> for TypeFlags

fn sub_assign(&mut self, other: TypeFlags)

Disables all flags enabled in the set.

impl UpperHex for TypeFlags

Auto Trait Implementations

impl RefUnwindSafe for TypeFlags

impl Send for TypeFlags

impl Sync for TypeFlags

impl Unpin for TypeFlags

impl UnwindSafe for TypeFlags

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ArenaAllocatable for T where
    T: Copy
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

impl<E> SpecializationError for E[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.