pub trait LiftInto<J>: Internerwhere
Self::BoundVarKinds: Lift<J, Lifted = <J as Interner>::BoundVarKinds>,
Self::Const: Lift<J, Lifted = <J as Interner>::Const>,
Self::DefId: Lift<J, Lifted = <J as Interner>::DefId>,
Self::FreeConstAliasId: Lift<J, Lifted = <J as Interner>::FreeConstAliasId>,
Self::FreeTyAliasId: Lift<J, Lifted = <J as Interner>::FreeTyAliasId>,
Self::GenericArg: Lift<J, Lifted = <J as Interner>::GenericArg>,
Self::GenericArgs: Lift<J, Lifted = <J as Interner>::GenericArgs>,
Self::InherentAssocConstId: Lift<J, Lifted = <J as Interner>::InherentAssocConstId>,
Self::InherentAssocTyId: Lift<J, Lifted = <J as Interner>::InherentAssocTyId>,
Self::OpaqueTyId: Lift<J, Lifted = <J as Interner>::OpaqueTyId>,
Self::ParamEnv: Lift<J, Lifted = <J as Interner>::ParamEnv>,
Self::PatList: Lift<J, Lifted = <J as Interner>::PatList>,
Self::Region: Lift<J, Lifted = <J as Interner>::Region>,
Self::RegionAssumptions: Lift<J, Lifted = <J as Interner>::RegionAssumptions>,
Self::Symbol: Lift<J, Lifted = <J as Interner>::Symbol>,
Self::Term: Lift<J, Lifted = <J as Interner>::Term>,
Self::TraitAssocConstId: Lift<J, Lifted = <J as Interner>::TraitAssocConstId>,
Self::TraitAssocTermId: Lift<J, Lifted = <J as Interner>::TraitAssocTermId>,
Self::TraitAssocTyId: Lift<J, Lifted = <J as Interner>::TraitAssocTyId>,
Self::TraitId: Lift<J, Lifted = <J as Interner>::TraitId>,
Self::Ty: Lift<J, Lifted = <J as Interner>::Ty>,
Self::Tys: Lift<J, Lifted = <J as Interner>::Tys>,
Self::UnevaluatedConstId: Lift<J, Lifted = <J as Interner>::UnevaluatedConstId>,
J: Interner,{ }Expand description
An interner whose associated types can be lifted into another interner J.
These are associated type bounds rather than where clauses so a caller with
I: LiftInto<J> can rely on the individual associated type Lift bounds being
implied.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".