[−][src]Trait chalk_ir::zip::Zip
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
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
Uses the zipper to walk through two values, ensuring that they match.
Implementations on Foreign Types
impl<'a, T: ?Sized + Zip<I>, I: Interner> Zip<I> for &'a T
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ()
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_: &mut Z,
_: Variance,
_: &Self,
_: &Self
) -> Fallible<()> where
I: 'i,
[src]
_: &mut Z,
_: Variance,
_: &Self,
_: &Self
) -> Fallible<()> where
I: 'i,
impl<T: Zip<I>, I: Interner> Zip<I> for Vec<T>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<T: Zip<I>, I: Interner> Zip<I> for [T]
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<T: Zip<I>, I: Interner> Zip<I> for Arc<T>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<T: Zip<I>, I: Interner> Zip<I> for Box<T>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<T: Zip<I>, U: Zip<I>, I: Interner> Zip<I> for (T, U)
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for PhantomData<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
Implementors
impl<I: Interner> Zip<I> for AliasTy<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ClausePriority
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Constraint<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for DomainGoal<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for FromEnv<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for GenericArgData<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for GoalData<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Mutability
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for QuantifierKind
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Scalar
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for VariableKind<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for WellFormed<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for WhereClause<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for AdtId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for AliasEq<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for AssocTypeId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ClosureId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Const<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Constraints<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for DynTy<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Environment<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for EqGoal<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for FnDefId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for FnSubst<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ForeignDefId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for GeneratorId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for GenericArg<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Goal<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Goals<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Lifetime<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for LifetimeOutlives<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Normalize<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for OpaqueTy<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for OpaqueTyId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for PlaceholderIndex
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ProgramClause<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ProgramClauseData<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ProgramClauseImplication<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ProgramClauses<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for ProjectionTy<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for QuantifiedWhereClauses<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for SubtypeGoal<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for TraitId<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
_zipper: &mut Z,
_variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for TraitRef<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for Ty<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner> Zip<I> for TypeOutlives<I>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
impl<I: Interner, T: HasInterner<Interner = I> + Zip<I> + Fold<I, Result = T>> Zip<I> for Binders<T>
[src]
pub fn zip_with<'i, Z: Zipper<'i, I>>(
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,
[src]
zipper: &mut Z,
variance: Variance,
a: &Self,
b: &Self
) -> Fallible<()> where
I: 'i,