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
Implementations on Foreign Types
impl<I: Interner> Zip<I> for PhantomData<I>
[src]
impl<I: Interner> Zip<I> for PhantomData<I>
[src]Implementors
impl<I: Interner> Zip<I> for ClausePriority
[src]
impl<I: Interner> Zip<I> for ClausePriority
[src]impl<I: Interner> Zip<I> for Constraint<I>
[src]
impl<I: Interner> Zip<I> for Constraint<I>
[src]impl<I: Interner> Zip<I> for DomainGoal<I>
[src]
impl<I: Interner> Zip<I> for DomainGoal<I>
[src]impl<I: Interner> Zip<I> for GenericArgData<I>
[src]
impl<I: Interner> Zip<I> for GenericArgData<I>
[src]impl<I: Interner> Zip<I> for Mutability
[src]
impl<I: Interner> Zip<I> for Mutability
[src]impl<I: Interner> Zip<I> for QuantifierKind
[src]
impl<I: Interner> Zip<I> for QuantifierKind
[src]impl<I: Interner> Zip<I> for VariableKind<I>
[src]
impl<I: Interner> Zip<I> for VariableKind<I>
[src]impl<I: Interner> Zip<I> for WellFormed<I>
[src]
impl<I: Interner> Zip<I> for WellFormed<I>
[src]impl<I: Interner> Zip<I> for WhereClause<I>
[src]
impl<I: Interner> Zip<I> for WhereClause<I>
[src]impl<I: Interner> Zip<I> for AssocTypeId<I>
[src]
impl<I: Interner> Zip<I> for AssocTypeId<I>
[src]impl<I: Interner> Zip<I> for Constraints<I>
[src]
impl<I: Interner> Zip<I> for Constraints<I>
[src]impl<I: Interner> Zip<I> for Environment<I>
[src]
impl<I: Interner> Zip<I> for Environment<I>
[src]impl<I: Interner> Zip<I> for ForeignDefId<I>
[src]
impl<I: Interner> Zip<I> for ForeignDefId<I>
[src]impl<I: Interner> Zip<I> for GeneratorId<I>
[src]
impl<I: Interner> Zip<I> for GeneratorId<I>
[src]impl<I: Interner> Zip<I> for GenericArg<I>
[src]
impl<I: Interner> Zip<I> for GenericArg<I>
[src]impl<I: Interner> Zip<I> for LifetimeOutlives<I>
[src]
impl<I: Interner> Zip<I> for LifetimeOutlives<I>
[src]impl<I: Interner> Zip<I> for OpaqueTyId<I>
[src]
impl<I: Interner> Zip<I> for OpaqueTyId<I>
[src]impl<I: Interner> Zip<I> for PlaceholderIndex
[src]
impl<I: Interner> Zip<I> for PlaceholderIndex
[src]impl<I: Interner> Zip<I> for ProgramClause<I>
[src]
impl<I: Interner> Zip<I> for ProgramClause<I>
[src]impl<I: Interner> Zip<I> for ProgramClauseData<I>
[src]
impl<I: Interner> Zip<I> for ProgramClauseData<I>
[src]impl<I: Interner> Zip<I> for ProgramClauseImplication<I>
[src]
impl<I: Interner> Zip<I> for ProgramClauseImplication<I>
[src]impl<I: Interner> Zip<I> for ProgramClauses<I>
[src]
impl<I: Interner> Zip<I> for ProgramClauses<I>
[src]impl<I: Interner> Zip<I> for ProjectionTy<I>
[src]
impl<I: Interner> Zip<I> for ProjectionTy<I>
[src]impl<I: Interner> Zip<I> for QuantifiedWhereClauses<I>
[src]
impl<I: Interner> Zip<I> for QuantifiedWhereClauses<I>
[src]impl<I: Interner> Zip<I> for SubtypeGoal<I>
[src]
impl<I: Interner> Zip<I> for SubtypeGoal<I>
[src]impl<I: Interner> Zip<I> for TypeOutlives<I>
[src]
impl<I: Interner> Zip<I> for TypeOutlives<I>
[src]