Trait rustc::ty::Lift
[−]
[src]
pub trait Lift<'tcx> { type Lifted: 'tcx; fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>; }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
A trait implemented for all X<'a> types which 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 &'tcx Substs<'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 TypeVariants 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.
Associated Types
type Lifted: 'tcx
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Required Methods
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Implementations on Foreign Types
impl<'tcx> Lift<'tcx> for ()
[src]
impl<'tcx> Lift<'tcx> for ()
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for bool
[src]
impl<'tcx> Lift<'tcx> for bool
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for usize
[src]
impl<'tcx> Lift<'tcx> for usize
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for u64
[src]
impl<'tcx> Lift<'tcx> for u64
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for FloatTy
[src]
impl<'tcx> Lift<'tcx> for FloatTy
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for NodeId
[src]
impl<'tcx> Lift<'tcx> for NodeId
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for Symbol
[src]
impl<'tcx> Lift<'tcx> for Symbol
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for Abi
[src]
impl<'tcx> Lift<'tcx> for Abi
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx> Lift<'tcx> for Span
[src]
impl<'tcx> Lift<'tcx> for Span
type Lifted = Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
[src]
fn lift_to_tcx<'a, 'gcx>(&self, _: TyCtxt<'a, 'gcx, 'tcx>) -> Option<Self>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, A: Lift<'tcx>, B: Lift<'tcx>> Lift<'tcx> for (A, B)
[src]
impl<'tcx, A: Lift<'tcx>, B: Lift<'tcx>> Lift<'tcx> for (A, B)
type Lifted = (A::Lifted, B::Lifted)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, A: Lift<'tcx>, B: Lift<'tcx>, C: Lift<'tcx>> Lift<'tcx> for (A, B, C)
[src]
impl<'tcx, A: Lift<'tcx>, B: Lift<'tcx>, C: Lift<'tcx>> Lift<'tcx> for (A, B, C)
type Lifted = (A::Lifted, B::Lifted, C::Lifted)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Option<T>
[src]
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Option<T>
type Lifted = Option<T::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, T: Lift<'tcx>, E: Lift<'tcx>> Lift<'tcx> for Result<T, E>
[src]
impl<'tcx, T: Lift<'tcx>, E: Lift<'tcx>> Lift<'tcx> for Result<T, E>
type Lifted = Result<T::Lifted, E::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Box<T>
[src]
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Box<T>
type Lifted = Box<T::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for [T]
[src]
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for [T]
type Lifted = Vec<T::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Vec<T>
[src]
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Vec<T>
type Lifted = Vec<T::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'tcx, I: Idx, T: Lift<'tcx>> Lift<'tcx> for IndexVec<I, T>
[src]
impl<'tcx, I: Idx, T: Lift<'tcx>> Lift<'tcx> for IndexVec<I, T>
type Lifted = IndexVec<I, T::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
[src]
fn lift_to_tcx<'a, 'gcx>(
&self,
tcx: TyCtxt<'a, 'gcx, 'tcx>
) -> Option<Self::Lifted>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Implementors
impl<'tcx> Lift<'tcx> for Certainty type Lifted = Self;
impl<'tcx> Lift<'tcx> for CanonicalVarInfo type Lifted = Self;
impl<'tcx> Lift<'tcx> for CanonicalVarKind type Lifted = Self;
impl<'a, 'tcx, T> Lift<'tcx> for Canonical<'a, T> where
T: Lift<'tcx>, type Lifted = Canonical<'tcx, T::Lifted>;impl<'a, 'tcx> Lift<'tcx> for CanonicalVarValues<'a> type Lifted = CanonicalVarValues<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for QueryRegionConstraints<'a> type Lifted = QueryRegionConstraints<'tcx>;
impl<'a, 'tcx, R> Lift<'tcx> for QueryResult<'a, R> where
R: Lift<'tcx>, type Lifted = QueryResult<'tcx, R::Lifted>;impl<'a, 'tcx> Lift<'tcx> for FreeRegionMap<'a> type Lifted = FreeRegionMap<'tcx>;
impl<'tcx> Lift<'tcx> for rustc::mir::Mutability type Lifted = Self;
impl<'tcx> Lift<'tcx> for SourceInfo type Lifted = Self;
impl<'tcx> Lift<'tcx> for UpvarDecl type Lifted = Self;
impl<'tcx> Lift<'tcx> for ValidationOp type Lifted = Self;
impl<'tcx> Lift<'tcx> for VisibilityScopeData type Lifted = Self;
impl<'tcx> Lift<'tcx> for VisibilityScope type Lifted = Self;
impl<'tcx> Lift<'tcx> for VisibilityScopeInfo type Lifted = Self;
impl<'a, 'tcx> Lift<'tcx> for SelectionError<'a> type Lifted = SelectionError<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for ObligationCauseCode<'a> type Lifted = ObligationCauseCode<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for DerivedObligationCause<'a> type Lifted = DerivedObligationCause<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for ObligationCause<'a> type Lifted = ObligationCause<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Vtable<'a, ()> type Lifted = Vtable<'tcx, ()>;
impl<'a, 'tcx> Lift<'tcx> for DropckOutlivesResult<'a> type Lifted = DropckOutlivesResult<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for NormalizationResult<'a> type Lifted = NormalizationResult<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Kind<'a> type Lifted = Kind<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Ty<'a> type Lifted = Ty<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Region<'a> type Lifted = Region<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for &'a Const<'a> type Lifted = &'tcx Const<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for &'a Substs<'a> type Lifted = &'tcx Substs<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for &'a Slice<Ty<'a>> type Lifted = &'tcx Slice<Ty<'tcx>>;
impl<'a, 'tcx> Lift<'tcx> for &'a Slice<ExistentialPredicate<'a>> type Lifted = &'tcx Slice<ExistentialPredicate<'tcx>>;
impl<'a, 'tcx> Lift<'tcx> for &'a Slice<Predicate<'a>> type Lifted = &'tcx Slice<Predicate<'tcx>>;
impl<'a, 'tcx> Lift<'tcx> for &'a Slice<CanonicalVarInfo> type Lifted = &'tcx Slice<CanonicalVarInfo>;
impl<'tcx> Lift<'tcx> for Scope type Lifted = Self;
impl<'tcx> Lift<'tcx> for Def type Lifted = Self;
impl<'tcx> Lift<'tcx> for DefId type Lifted = Self;
impl<'tcx> Lift<'tcx> for InlineAsm type Lifted = Self;
impl<'tcx> Lift<'tcx> for MatchSource type Lifted = Self;
impl<'tcx> Lift<'tcx> for rustc::hir::Mutability type Lifted = Self;
impl<'tcx> Lift<'tcx> for Unsafety type Lifted = Self;
impl<'tcx> Lift<'tcx> for Local type Lifted = Self;
impl<'tcx> Lift<'tcx> for Promoted type Lifted = Self;
impl<'tcx> Lift<'tcx> for Reveal type Lifted = Self;
impl<'tcx> Lift<'tcx> for AutoBorrowMutability type Lifted = Self;
impl<'tcx> Lift<'tcx> for AdtKind type Lifted = Self;
impl<'tcx> Lift<'tcx> for BoundRegion type Lifted = Self;
impl<'tcx> Lift<'tcx> for ClosureKind type Lifted = Self;
impl<'tcx> Lift<'tcx> for IntVarValue type Lifted = Self;
impl<'a, 'tcx> Lift<'tcx> for TraitRef<'a> type Lifted = TraitRef<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for ExistentialTraitRef<'a> type Lifted = ExistentialTraitRef<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for TraitPredicate<'a> type Lifted = TraitPredicate<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for SubtypePredicate<'a> type Lifted = SubtypePredicate<'tcx>;
impl<'tcx, A: Copy + Lift<'tcx>, B: Copy + Lift<'tcx>> Lift<'tcx> for OutlivesPredicate<A, B> type Lifted = OutlivesPredicate<A::Lifted, B::Lifted>;
impl<'a, 'tcx> Lift<'tcx> for ProjectionTy<'a> type Lifted = ProjectionTy<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for ProjectionPredicate<'a> type Lifted = ProjectionPredicate<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for ExistentialProjection<'a> type Lifted = ExistentialProjection<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Predicate<'a> type Lifted = Predicate<'tcx>;
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for Binder<T> type Lifted = Binder<T::Lifted>;
impl<'a, 'tcx> Lift<'tcx> for ParamEnv<'a> type Lifted = ParamEnv<'tcx>;
impl<'a, 'tcx, T: Lift<'tcx>> Lift<'tcx> for ParamEnvAnd<'a, T> type Lifted = ParamEnvAnd<'tcx, T::Lifted>;
impl<'a, 'tcx> Lift<'tcx> for ClosureSubsts<'a> type Lifted = ClosureSubsts<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for GeneratorInterior<'a> type Lifted = GeneratorInterior<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Adjustment<'a> type Lifted = Adjustment<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Adjust<'a> type Lifted = Adjust<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for OverloadedDeref<'a> type Lifted = OverloadedDeref<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for AutoBorrow<'a> type Lifted = AutoBorrow<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for GenSig<'a> type Lifted = GenSig<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for FnSig<'a> type Lifted = FnSig<'tcx>;
impl<'tcx, T: Lift<'tcx>> Lift<'tcx> for ExpectedFound<T> type Lifted = ExpectedFound<T::Lifted>;
impl<'a, 'tcx> Lift<'tcx> for TypeError<'a> type Lifted = TypeError<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for ConstEvalErr<'a> type Lifted = ConstEvalErr<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for EvalError<'a> type Lifted = EvalError<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for ErrKind<'a> type Lifted = ErrKind<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for LayoutError<'a> type Lifted = LayoutError<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for InstanceDef<'a> type Lifted = InstanceDef<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for Instance<'a> type Lifted = Instance<'tcx>;
impl<'a, 'tcx> Lift<'tcx> for GlobalId<'a> type Lifted = GlobalId<'tcx>;