Skip to main content

StructurallyNormalizeExt

Trait StructurallyNormalizeExt 

Source
pub trait StructurallyNormalizeExt<'tcx> {
    // Required methods
    fn structurally_normalize_ty<E: 'tcx>(
        &self,
        ty: Unnormalized<'tcx, Ty<'tcx>>,
        fulfill_cx: &mut dyn TraitEngine<'tcx, E>,
    ) -> Result<Ty<'tcx>, Vec<E>>;
    fn structurally_normalize_const<E: 'tcx>(
        &self,
        ct: Unnormalized<'tcx, Const<'tcx>>,
        fulfill_cx: &mut dyn TraitEngine<'tcx, E>,
    ) -> Result<Const<'tcx>, Vec<E>>;
    fn structurally_normalize_term<E: 'tcx>(
        &self,
        term: Unnormalized<'tcx, Term<'tcx>>,
        fulfill_cx: &mut dyn TraitEngine<'tcx, E>,
    ) -> Result<Term<'tcx>, Vec<E>>;
}

Required Methods§

Source

fn structurally_normalize_ty<E: 'tcx>( &self, ty: Unnormalized<'tcx, Ty<'tcx>>, fulfill_cx: &mut dyn TraitEngine<'tcx, E>, ) -> Result<Ty<'tcx>, Vec<E>>

Source

fn structurally_normalize_const<E: 'tcx>( &self, ct: Unnormalized<'tcx, Const<'tcx>>, fulfill_cx: &mut dyn TraitEngine<'tcx, E>, ) -> Result<Const<'tcx>, Vec<E>>

Source

fn structurally_normalize_term<E: 'tcx>( &self, term: Unnormalized<'tcx, Term<'tcx>>, fulfill_cx: &mut dyn TraitEngine<'tcx, E>, ) -> Result<Term<'tcx>, Vec<E>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'tcx> StructurallyNormalizeExt<'tcx> for At<'_, 'tcx>