rustc_middle::infer::canonical

Type Alias Canonical

Source
pub type Canonical<'tcx, V> = Canonical<TyCtxt<'tcx>, V>;

Aliased Type§

struct Canonical<'tcx, V> {
    pub value: V,
    pub max_universe: UniverseIndex,
    pub variables: &'tcx RawList<(), CanonicalVarInfo<TyCtxt<'tcx>>>,
}

Fields§

§value: V§max_universe: UniverseIndex§variables: &'tcx RawList<(), CanonicalVarInfo<TyCtxt<'tcx>>>

Trait Implementations§

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, ()>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, PolyFnSig<'tcx>>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, Clause<'tcx>>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, DropckOutlivesResult<'tcx>>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, FnSig<'tcx>>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, NormalizationResult<'tcx>>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, Ty<'tcx>>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, Vec<OutlivesBound<'tcx>>>>

Source§

fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

Source§

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx mut [Self]

Layout§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.