Trait chalk_solve::ext::CanonicalExt[][src]

pub trait CanonicalExt<T: HasInterner, I: Interner> {
    fn map<OP, U>(self, interner: &I, op: OP) -> Canonical<U::Result>
    where
        OP: FnOnce(T::Result) -> U,
        T: Fold<I>,
        U: Fold<I>,
        U::Result: HasInterner<Interner = I>
; }

Required methods

Implementations on Foreign Types

Maps the contents using op, but preserving the binders.

NB. op will be invoked with an instantiated version of the canonical value, where inference variables (from a fresh inference context) are used in place of the quantified free variables. The result should be in terms of those same inference variables and will be re-canonicalized.

Implementors