Skip to main content

Normalizable

Trait Normalizable 

Source
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§

Source

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>

Source§

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>

Source§

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.

Source§

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 FnSig<'tcx>

Source§

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 PolyFnSig<'tcx>

Source§

fn type_op_method( tcx: TyCtxt<'tcx>, canonicalized: CanonicalQueryInput<'tcx, ParamEnvAnd<'tcx, Normalize<Self>>>, ) -> Result<CanonicalQueryResponse<'tcx, Self>, NoSolution>

Implementors§