rustc_middle::ty::fast_reject

Type Alias SimplifiedType

Source
pub type SimplifiedType = SimplifiedType<DefId>;

Aliased Type§

enum SimplifiedType {
Show 22 variants Bool, Char, Int(IntTy), Uint(UintTy), Float(FloatTy), Adt(DefId), Foreign(DefId), Str, Array, Slice, Ref(Mutability), Ptr(Mutability), Never, Tuple(usize), MarkerTraitObject, Trait(DefId), Closure(DefId), Coroutine(DefId), CoroutineWitness(DefId), Function(usize), Placeholder, Error,
}

Variants§

§

Bool

§

Char

§

Int(IntTy)

§

Uint(UintTy)

§

Float(FloatTy)

§

Adt(DefId)

§

Foreign(DefId)

§

Str

§

Array

§

Slice

§

Ref(Mutability)

§

Ptr(Mutability)

§

Never

§

Tuple(usize)

§

MarkerTraitObject

A trait object, all of whose components are markers (e.g., dyn Send + Sync).

§

Trait(DefId)

§

Closure(DefId)

§

Coroutine(DefId)

§

CoroutineWitness(DefId)

§

Function(usize)

§

Placeholder

§

Error

Trait Implementations§

Source§

impl EraseType for SimplifiedType

Source§

type Result = [u8; 16]

Source§

impl Key for SimplifiedType

Source§

type Cache<V> = DefaultCache<SimplifiedType<DefId>, V>

Source§

fn default_span(&self, _: TyCtxt<'_>) -> Span

In the event that a cycle occurs, if no explicit span has been given for a query with key self, what span should we use?
Source§

fn key_as_def_id(&self) -> Option<DefId>

If the key is a DefId or DefId–equivalent, return that DefId. Otherwise, return None.
Source§

fn ty_def_id(&self) -> Option<DefId>

Source§

impl ParameterizedOverTcx for SimplifiedType

Source§

type Value<'tcx> = SimplifiedType<DefId>

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: 16 bytes

Size for each variant:

  • Bool: 0 bytes
  • Char: 0 bytes
  • Int: 1 byte
  • Uint: 1 byte
  • Float: 1 byte
  • Adt: 11 bytes
  • Foreign: 11 bytes
  • Str: 0 bytes
  • Array: 0 bytes
  • Slice: 0 bytes
  • Ref: 1 byte
  • Ptr: 1 byte
  • Never: 0 bytes
  • Tuple: 15 bytes
  • MarkerTraitObject: 0 bytes
  • Trait: 11 bytes
  • Closure: 11 bytes
  • Coroutine: 11 bytes
  • CoroutineWitness: 11 bytes
  • Function: 15 bytes
  • Placeholder: 0 bytes
  • Error: 0 bytes