rustc_trait_selection::traits::structural_normalize

Trait StructurallyNormalizeExt

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

Required Methods§

Source

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

Source

fn structurally_normalize_const<E: 'tcx>( &self, ct: Const<'tcx>, fulfill_cx: &mut dyn TraitEngine<'tcx, E>, ) -> Result<Const<'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>