Trait rustc_middle::ty::context::Lift

source ·
pub trait Lift<'tcx>: Debug {
    type Lifted: Debug + 'tcx;

    // Required method
    fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>;
}
Expand description

A trait implemented for all X<'a> types that can be safely and efficiently converted to X<'tcx> as long as they are part of the provided TyCtxt<'tcx>. This can be done, for example, for Ty<'tcx> or SubstsRef<'tcx> by looking them up in their respective interners.

However, this is still not the best implementation as it does need to compare the components, even for interned values. It would be more efficient if TypedArena provided a way to determine whether the address is in the allocated range.

None is returned if the value or one of the components is not part of the provided context. For Ty, None can be returned if either the type interner doesn’t contain the TyKind key or if the address of the interned pointer differs. The latter case is possible if a primitive type, e.g., () or u8, was interned in a different context.

Required Associated Types§

source

type Lifted: Debug + 'tcx

Required Methods§

source

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

Implementations on Foreign Types§

source§

impl<'tcx, T: Lift<'tcx> + Clone> Lift<'tcx> for Rc<T>

§

type Lifted = Rc<<T as Lift<'tcx>>::Lifted>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for Abi

§

type Lifted = Abi

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for u8

§

type Lifted = u8

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, A: Lift<'tcx>, B: Lift<'tcx>, C: Lift<'tcx>> Lift<'tcx> for (A, B, C)

§

type Lifted = (<A as Lift<'tcx>>::Lifted, <B as Lift<'tcx>>::Lifted, <C as Lift<'tcx>>::Lifted)

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for Symbol

§

type Lifted = Symbol

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for u32

§

type Lifted = u32

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for bool

§

type Lifted = bool

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for InlineAsmTemplatePiece

source§

impl<'tcx> Lift<'tcx> for NodeId

§

type Lifted = NodeId

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, I: Idx, T: Lift<'tcx>> Lift<'tcx> for IndexVec<I, T>

§

type Lifted = IndexVec<I, <T as Lift<'tcx>>::Lifted>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for FieldIdx

§

type Lifted = FieldIdx

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for Movability

§

type Lifted = Movability

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for VariantIdx

§

type Lifted = VariantIdx

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for ErrorGuaranteed

§

type Lifted = ErrorGuaranteed

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for HirId

§

type Lifted = HirId

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Box<T>

§

type Lifted = Box<<T as Lift<'tcx>>::Lifted, Global>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for u16

§

type Lifted = u16

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Vec<T>

§

type Lifted = Vec<<T as Lift<'tcx>>::Lifted, Global>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for Span

§

type Lifted = Span

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for usize

§

type Lifted = usize

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for Res

§

type Lifted = Res<HirId>

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for InlineAsmRegOrRegClass

source§

impl<'tcx> Lift<'tcx> for Ident

§

type Lifted = Ident

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for Size

§

type Lifted = Size

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, T: Lift<'tcx> + Clone> Lift<'tcx> for Arc<T>

§

type Lifted = Arc<<T as Lift<'tcx>>::Lifted>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for Unsafety

§

type Lifted = Unsafety

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for Constness

§

type Lifted = Constness

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for MatchSource

§

type Lifted = MatchSource

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for InlineAsmOptions

§

type Lifted = InlineAsmOptions

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, A: Lift<'tcx>, B: Lift<'tcx>> Lift<'tcx> for (A, B)

§

type Lifted = (<A as Lift<'tcx>>::Lifted, <B as Lift<'tcx>>::Lifted)

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for u64

§

type Lifted = u64

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for String

§

type Lifted = String

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for DefId

§

type Lifted = DefId

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, T: Lift<'tcx>, E: Lift<'tcx>> Lift<'tcx> for Result<T, E>

§

type Lifted = Result<<T as Lift<'tcx>>::Lifted, <E as Lift<'tcx>>::Lifted>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

source§

impl<'tcx> Lift<'tcx> for GeneratorKind

§

type Lifted = GeneratorKind

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for LocalDefId

§

type Lifted = LocalDefId

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx> Lift<'tcx> for ()

§

type Lifted = ()

source§

fn lift_to_tcx(self, _: TyCtxt<'tcx>) -> Option<Self>

source§

impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Option<T>

§

type Lifted = Option<<T as Lift<'tcx>>::Lifted>

source§

fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>

Implementors§

source§

impl<'__lifted, A, B> Lift<'__lifted> for OutlivesPredicate<A, B>where A: Lift<'__lifted>, B: Lift<'__lifted>,

§

type Lifted = OutlivesPredicate<<A as Lift<'__lifted>>::Lifted, <B as Lift<'__lifted>>::Lifted>

source§

impl<'__lifted, N> Lift<'__lifted> for ImplSourceObjectData<N>where N: Lift<'__lifted>,

§

type Lifted = ImplSourceObjectData<<N as Lift<'__lifted>>::Lifted>

source§

impl<'__lifted, N> Lift<'__lifted> for ImplSourceTraitUpcastingData<N>where N: Lift<'__lifted>,

source§

impl<'__lifted, T> Lift<'__lifted> for Normalize<T>where T: Lift<'__lifted>,

§

type Lifted = Normalize<<T as Lift<'__lifted>>::Lifted>

source§

impl<'__lifted, T> Lift<'__lifted> for ExpectedFound<T>where T: Lift<'__lifted>,

§

type Lifted = ExpectedFound<<T as Lift<'__lifted>>::Lifted>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<BoundVariableKind>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<CanonicalVarInfo<'a>>

§

type Lifted = &'tcx List<CanonicalVarInfo<'tcx>>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<Clause<'a>>

§

type Lifted = &'tcx List<Clause<'tcx>>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<Ty<'a>>

§

type Lifted = &'tcx List<Ty<'tcx>>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<GenericArg<'a>>

§

type Lifted = &'tcx List<GenericArg<'tcx>>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<ProjectionKind>

§

type Lifted = &'tcx List<ProjectionElem<(), ()>>

source§

impl<'a, 'tcx> Lift<'tcx> for &'a List<PolyExistentialPredicate<'a>>

§

type Lifted = &'tcx List<Binder<'tcx, ExistentialPredicate<'tcx>>>

source§

impl<'a, 'tcx> Lift<'tcx> for ConstAllocation<'a>

source§

impl<'a, 'tcx> Lift<'tcx> for Const<'a>

§

type Lifted = Const<'tcx>

source§

impl<'a, 'tcx> Lift<'tcx> for Clause<'a>

§

type Lifted = Clause<'tcx>

source§

impl<'a, 'tcx> Lift<'tcx> for ParamEnv<'a>

§

type Lifted = ParamEnv<'tcx>

source§

impl<'a, 'tcx> Lift<'tcx> for Predicate<'a>

§

type Lifted = Predicate<'tcx>

source§

impl<'a, 'tcx> Lift<'tcx> for Term<'a>

§

type Lifted = Term<'tcx>

source§

impl<'a, 'tcx> Lift<'tcx> for Ty<'a>

§

type Lifted = Ty<'tcx>

source§

impl<'a, 'tcx> Lift<'tcx> for Region<'a>

§

type Lifted = Region<'tcx>

source§

impl<'a, 'tcx> Lift<'tcx> for GenericArg<'a>

§

type Lifted = GenericArg<'tcx>

source§

impl<'tcx> Lift<'tcx> for CanonicalTyVarKind

source§

impl<'tcx> Lift<'tcx> for Certainty

source§

impl<'tcx> Lift<'tcx> for BindingForm<'tcx>

§

type Lifted = BindingForm<'tcx>

source§

impl<'tcx> Lift<'tcx> for Mutability

source§

impl<'tcx> Lift<'tcx> for ErrorHandled

source§

impl<'tcx> Lift<'tcx> for Scalar

source§

impl<'tcx> Lift<'tcx> for ReturnConstraint

source§

impl<'tcx> Lift<'tcx> for BorrowKind

source§

impl<'tcx> Lift<'tcx> for CastKind

source§

impl<'tcx> Lift<'tcx> for FakeReadCause

source§

impl<'tcx> Lift<'tcx> for MirPhase

source§

impl<'tcx> Lift<'tcx> for RetagKind

source§

impl<'tcx> Lift<'tcx> for Reveal

source§

impl<'tcx> Lift<'tcx> for StatementAsExpression

source§

impl<'tcx> Lift<'tcx> for WellFormedLoc

source§

impl<'tcx> Lift<'tcx> for OverflowError

source§

impl<'tcx> Lift<'tcx> for NotConstEvaluatable

source§

impl<'tcx> Lift<'tcx> for AutoBorrowMutability

source§

impl<'tcx> Lift<'tcx> for PointerCoercion

source§

impl<'tcx> Lift<'tcx> for AdtKind

source§

impl<'tcx> Lift<'tcx> for AssocKind

source§

impl<'tcx> Lift<'tcx> for BindingMode

source§

impl<'tcx> Lift<'tcx> for ClosureKind

source§

impl<'tcx> Lift<'tcx> for ValTree<'tcx>

§

type Lifted = ValTree<'tcx>

source§

impl<'tcx> Lift<'tcx> for AliasKind

source§

impl<'tcx> Lift<'tcx> for AliasRelationDirection

source§

impl<'tcx> Lift<'tcx> for BoundConstness

source§

impl<'tcx> Lift<'tcx> for FloatTy

source§

impl<'tcx> Lift<'tcx> for ImplPolarity

source§

impl<'tcx> Lift<'tcx> for InferTy

source§

impl<'tcx> Lift<'tcx> for IntVarValue

source§

impl<'tcx> Lift<'tcx> for Variance

source§

impl<'tcx> Lift<'tcx> for BoundRegionKind

source§

impl<'tcx> Lift<'tcx> for Scope

source§

impl<'tcx> Lift<'tcx> for Cache

source§

impl<'tcx> Lift<'tcx> for CounterValueReference

source§

impl<'tcx> Lift<'tcx> for ExpressionOperandId

source§

impl<'tcx> Lift<'tcx> for InjectedExpressionId

source§

impl<'tcx> Lift<'tcx> for InjectedExpressionIndex

source§

impl<'tcx> Lift<'tcx> for MappedExpressionIndex

source§

impl<'tcx> Lift<'tcx> for GeneratorSavedLocal

source§

impl<'tcx> Lift<'tcx> for BasicBlock

source§

impl<'tcx> Lift<'tcx> for BlockTailInfo

source§

impl<'tcx> Lift<'tcx> for Local

source§

impl<'tcx> Lift<'tcx> for Promoted

source§

impl<'tcx> Lift<'tcx> for SourceInfo

source§

impl<'tcx> Lift<'tcx> for SourceScope

source§

impl<'tcx> Lift<'tcx> for SourceScopeLocalData

source§

impl<'tcx> Lift<'tcx> for SwitchTargets

source§

impl<'tcx> Lift<'tcx> for AssocItem

source§

impl<'tcx> Lift<'tcx> for DebruijnIndex

source§

impl<'tcx> Lift<'tcx> for Placeholder<BoundRegion>

source§

impl<'tcx> Lift<'tcx> for Placeholder<BoundTy>

source§

impl<'tcx> Lift<'tcx> for Placeholder<BoundVar>

source§

impl<'tcx> Lift<'tcx> for UniverseIndex

source§

impl<'tcx> Lift<'tcx> for BoundVar

source§

impl<'tcx> Lift<'tcx> for FreeRegion

source§

impl<'tcx> Lift<'tcx> for ParamConst

source§

impl<'tcx> Lift<'tcx> for ParamTy

source§

impl<'tcx> Lift<'tcx> for RegionVid

source§

impl<'tcx> Lift<'tcx> for UserTypeAnnotationIndex

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ConstantKind<'tcx>

§

type Lifted = ConstantKind<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ConstValue<'tcx>

§

type Lifted = ConstValue<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ConstraintCategory<'tcx>

§

type Lifted = ConstraintCategory<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ObligationCauseCode<'tcx>

§

type Lifted = ObligationCauseCode<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for SelectionError<'tcx>

§

type Lifted = SelectionError<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for OutlivesBound<'tcx>

§

type Lifted = OutlivesBound<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for Adjust<'tcx>

§

type Lifted = Adjust<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for AutoBorrow<'tcx>

§

type Lifted = AutoBorrow<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ClauseKind<'tcx>

§

type Lifted = ClauseKind<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for PredicateKind<'tcx>

§

type Lifted = PredicateKind<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for TypeError<'tcx>

§

type Lifted = TypeError<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for InstanceDef<'tcx>

§

type Lifted = InstanceDef<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ExistentialPredicate<'tcx>

§

type Lifted = ExistentialPredicate<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for UserType<'tcx>

§

type Lifted = UserType<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for CanonicalVarValues<'tcx>

§

type Lifted = CanonicalVarValues<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for QueryRegionConstraints<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for MemberConstraint<'tcx>

§

type Lifted = MemberConstraint<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for GlobalId<'tcx>

§

type Lifted = GlobalId<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for rustc_middle::mir::UnevaluatedConst<'tcx>

§

type Lifted = UnevaluatedConst<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for DropckOutlivesResult<'tcx>

§

type Lifted = DropckOutlivesResult<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for NormalizationResult<'tcx>

§

type Lifted = NormalizationResult<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for AscribeUserType<'tcx>

§

type Lifted = AscribeUserType<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for Eq<'tcx>

§

type Lifted = Eq<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ProvePredicate<'tcx>

§

type Lifted = ProvePredicate<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for Subtype<'tcx>

§

type Lifted = Subtype<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for DerivedObligationCause<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for IfExpressionCause<'tcx>

§

type Lifted = IfExpressionCause<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ImplDerivedObligationCause<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for InternedObligationCauseCode<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for MatchExpressionArmCause<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ObligationCause<'tcx>

§

type Lifted = ObligationCause<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for SelectionOutputTypeParameterMismatch<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for UnifyReceiverContext<'tcx>

§

type Lifted = UnifyReceiverContext<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for Adjustment<'tcx>

§

type Lifted = Adjustment<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for OverloadedDeref<'tcx>

§

type Lifted = OverloadedDeref<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for rustc_middle::ty::consts::kind::UnevaluatedConst<'tcx>

§

type Lifted = UnevaluatedConst<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for Instance<'tcx>

§

type Lifted = Instance<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for PrintClosureAsImpl<'tcx>

§

type Lifted = PrintClosureAsImpl<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for TraitPredPrintModifiersAndPath<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for TraitRefPrintOnlyTraitName<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for TraitRefPrintOnlyTraitPath<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for CoercePredicate<'tcx>

§

type Lifted = CoercePredicate<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for OpaqueTypeKey<'tcx>

§

type Lifted = OpaqueTypeKey<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ProjectionPredicate<'tcx>

§

type Lifted = ProjectionPredicate<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for SubtypePredicate<'tcx>

§

type Lifted = SubtypePredicate<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for TraitPredicate<'tcx>

§

type Lifted = TraitPredicate<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for AliasTy<'tcx>

§

type Lifted = AliasTy<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ClosureSubsts<'tcx>

§

type Lifted = ClosureSubsts<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ExistentialProjection<'tcx>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for ExistentialTraitRef<'tcx>

§

type Lifted = ExistentialTraitRef<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for FnSig<'tcx>

§

type Lifted = FnSig<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for GenSig<'tcx>

§

type Lifted = GenSig<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for GeneratorSubsts<'tcx>

§

type Lifted = GeneratorSubsts<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for TraitRef<'tcx>

§

type Lifted = TraitRef<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for TypeAndMut<'tcx>

§

type Lifted = TypeAndMut<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for UserSelfTy<'tcx>

§

type Lifted = UserSelfTy<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for UserSubsts<'tcx>

§

type Lifted = UserSubsts<'__lifted>

source§

impl<'tcx, '__lifted> Lift<'__lifted> for CanonicalUserTypeAnnotation<'tcx>

source§

impl<'tcx, '__lifted, N> Lift<'__lifted> for ImplSource<'tcx, N>where N: Lift<'__lifted>,

§

type Lifted = ImplSource<'__lifted, <N as Lift<'__lifted>>::Lifted>

source§

impl<'tcx, '__lifted, N> Lift<'__lifted> for ImplSourceUserDefinedData<'tcx, N>where N: Lift<'__lifted>,

§

type Lifted = ImplSourceUserDefinedData<'__lifted, <N as Lift<'__lifted>>::Lifted>

source§

impl<'tcx, '__lifted, R> Lift<'__lifted> for QueryResponse<'tcx, R>where R: Lift<'__lifted>,

§

type Lifted = QueryResponse<'__lifted, <R as Lift<'__lifted>>::Lifted>

source§

impl<'tcx, '__lifted, T> Lift<'__lifted> for ParamEnvAnd<'tcx, T>where T: Lift<'__lifted>,

§

type Lifted = ParamEnvAnd<'__lifted, <T as Lift<'__lifted>>::Lifted>

source§

impl<'tcx, '__lifted, T> Lift<'__lifted> for Binder<'tcx, T>where T: Lift<'__lifted>,

§

type Lifted = Binder<'__lifted, <T as Lift<'__lifted>>::Lifted>

source§

impl<'tcx, '__lifted, V> Lift<'__lifted> for Canonical<'tcx, V>where V: Lift<'__lifted>,

§

type Lifted = Canonical<'__lifted, <V as Lift<'__lifted>>::Lifted>