Trait chalk_ir::zip::Zip[][src]

pub trait Zip<I>: Debug where
    I: Interner
{ fn zip_with<'i, Z: Zipper<'i, I>>(
        zipper: &mut Z,
        variance: Variance,
        a: &Self,
        b: &Self
    ) -> Fallible<()>
    where
        I: 'i
; }
Expand description

The Zip trait walks two values, invoking the Zipper methods where appropriate, but otherwise requiring strict equality.

See Zipper trait for more details.

To implement the trait, typically you would use one of the macros like eq_zip!, struct_zip!, or enum_zip!.

Required methods

Uses the zipper to walk through two values, ensuring that they match.

Implementations on Foreign Types

Implementors