pub type CanonicalUserType<'tcx> = Canonical<'tcx, UserType<'tcx>>;
Expand description
Canonical user type annotation.
Aliased Type§
struct CanonicalUserType<'tcx> {
pub value: UserType<'tcx>,
pub max_universe: UniverseIndex,
pub defining_opaque_types: &'tcx RawList<(), LocalDefId>,
pub variables: &'tcx RawList<(), CanonicalVarInfo<TyCtxt<'tcx>>>,
}
Fields§
§value: UserType<'tcx>
§max_universe: UniverseIndex
§defining_opaque_types: &'tcx RawList<(), LocalDefId>
§variables: &'tcx RawList<(), CanonicalVarInfo<TyCtxt<'tcx>>>
Trait Implementations§
source§impl<'tcx> IsIdentity for CanonicalUserType<'tcx>
impl<'tcx> IsIdentity for CanonicalUserType<'tcx>
source§fn is_identity(&self) -> bool
fn is_identity(&self) -> bool
Returns true
if this represents the generic parameters of the form [?0, ?1, ?2]
,
i.e., each thing is mapped to a canonical variable with the same index.
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: 56 bytes