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

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

Source§

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

## Implementors§