Skip to main content

## CanonicalUserType

# Type Alias CanonicalUserType

Source

    pub type CanonicalUserType<'tcx> = Canonical<'tcx, UserType<'tcx>>;

Expand description

Canonical user type annotation.

## Aliased Type§

    pub struct CanonicalUserType<'tcx> {
        pub value: UserType<'tcx>,
        pub max_universe: UniverseIndex,
        pub var_kinds: &'tcx RawList<(), CanonicalVarKind<TyCtxt<'tcx>>>,
    }

## Fields§

§`value: UserType<'tcx>`§`max_universe: UniverseIndex`§`var_kinds: &'tcx RawList<(), CanonicalVarKind<TyCtxt<'tcx>>>`

## Trait Implementations§

Source§

### impl<'tcx> IsIdentity for CanonicalUserType<'tcx>

Source§

#### 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