pub trait Normalizable<'tcx>:
Debug
+ TypeFoldable<TyCtxt<'tcx>>
+ Lift<TyCtxt<'tcx>>
+ Copy {
// Required method
fn type_op_method(
tcx: TyCtxt<'tcx>,
canonicalized: CanonicalQueryInput<'tcx, ParamEnvAnd<'tcx, Normalize<Self>>>,
) -> Result<CanonicalQueryResponse<'tcx, Self>, NoSolution>;
}Required Methods§
fn type_op_method( tcx: TyCtxt<'tcx>, canonicalized: CanonicalQueryInput<'tcx, ParamEnvAnd<'tcx, Normalize<Self>>>, ) -> Result<CanonicalQueryResponse<'tcx, Self>, NoSolution>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'tcx> Normalizable<'tcx> for Clause<'tcx>
impl<'tcx> Normalizable<'tcx> for Clause<'tcx>
fn type_op_method( tcx: TyCtxt<'tcx>, canonicalized: CanonicalQueryInput<'tcx, ParamEnvAnd<'tcx, Normalize<Self>>>, ) -> Result<CanonicalQueryResponse<'tcx, Self>, NoSolution>
Source§impl<'tcx> Normalizable<'tcx> for Ty<'tcx>
impl<'tcx> Normalizable<'tcx> for Ty<'tcx>
fn type_op_method( tcx: TyCtxt<'tcx>, canonicalized: CanonicalQueryInput<'tcx, ParamEnvAnd<'tcx, Normalize<Self>>>, ) -> Result<CanonicalQueryResponse<'tcx, Self>, NoSolution>
Source§impl<'tcx> Normalizable<'tcx> for PolyTypeOutlivesPredicate<'tcx>
This impl is not needed, since we never normalize type outlives predicates
in the old solver, but is required by trait bounds to be happy.
impl<'tcx> Normalizable<'tcx> for PolyTypeOutlivesPredicate<'tcx>
This impl is not needed, since we never normalize type outlives predicates in the old solver, but is required by trait bounds to be happy.