pub type SimplifiedType = SimplifiedType<DefId>;
Aliased Type§
enum SimplifiedType {
Show 23 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),
UnsafeBinder,
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)
UnsafeBinder
Placeholder
Error
Implementations
Trait Implementations§
Source§impl Key for SimplifiedType
impl Key for SimplifiedType
type Cache<V> = DefaultCache<SimplifiedType<DefId>, V>
Source§fn default_span(&self, _: TyCtxt<'_>) -> Span
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>
fn key_as_def_id(&self) -> Option<DefId>
Source§fn def_id_for_ty_in_cycle(&self) -> Option<DefId>
fn def_id_for_ty_in_cycle(&self) -> Option<DefId>
Used to detect when ADT def ids are used as keys in a cycle for better error reporting.
Source§impl ParameterizedOverTcx for SimplifiedType
impl ParameterizedOverTcx for SimplifiedType
type Value<'tcx> = SimplifiedType<DefId>
Source§impl<DefId> Clone for SimplifiedType<DefId>where
DefId: Clone,
impl<DefId> Clone for SimplifiedType<DefId>where
DefId: Clone,
Source§fn clone(&self) -> SimplifiedType<DefId>
fn clone(&self) -> SimplifiedType<DefId>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<DefId> Debug for SimplifiedType<DefId>where
DefId: Debug,
impl<DefId> Debug for SimplifiedType<DefId>where
DefId: Debug,
Source§impl<DefId, __D> Decodable<__D> for SimplifiedType<DefId>
impl<DefId, __D> Decodable<__D> for SimplifiedType<DefId>
fn decode(__decoder: &mut __D) -> SimplifiedType<DefId>
Source§impl<DefId, __E> Encodable<__E> for SimplifiedType<DefId>
impl<DefId, __E> Encodable<__E> for SimplifiedType<DefId>
Source§impl<DefId> Hash for SimplifiedType<DefId>where
DefId: Hash,
impl<DefId> Hash for SimplifiedType<DefId>where
DefId: Hash,
Source§impl<DefId, __CTX> HashStable<__CTX> for SimplifiedType<DefId>where
DefId: HashStable<__CTX>,
impl<DefId, __CTX> HashStable<__CTX> for SimplifiedType<DefId>where
DefId: HashStable<__CTX>,
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
Source§impl<DefId> PartialEq for SimplifiedType<DefId>where
DefId: PartialEq,
impl<DefId> PartialEq for SimplifiedType<DefId>where
DefId: PartialEq,
Source§impl<HCX, DefId> ToStableHashKey<HCX> for SimplifiedType<DefId>where
HCX: Clone,
DefId: HashStable<HCX>,
impl<HCX, DefId> ToStableHashKey<HCX> for SimplifiedType<DefId>where
HCX: Clone,
DefId: HashStable<HCX>,
type KeyType = Fingerprint
fn to_stable_hash_key(&self, hcx: &HCX) -> Fingerprint
impl<DefId> Copy for SimplifiedType<DefId>where
DefId: Copy,
impl<DefId> Eq for SimplifiedType<DefId>where
DefId: Eq,
impl<DefId> StructuralPartialEq for 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 bytesChar
: 0 bytesInt
: 1 byteUint
: 1 byteFloat
: 1 byteAdt
: 11 bytesForeign
: 11 bytesStr
: 0 bytesArray
: 0 bytesSlice
: 0 bytesRef
: 1 bytePtr
: 1 byteNever
: 0 bytesTuple
: 15 bytesMarkerTraitObject
: 0 bytesTrait
: 11 bytesClosure
: 11 bytesCoroutine
: 11 bytesCoroutineWitness
: 11 bytesFunction
: 15 bytesUnsafeBinder
: 0 bytesPlaceholder
: 0 bytesError
: 0 bytes