Trait moniker::BoundPattern[][src]

pub trait BoundPattern<N> {
    fn pattern_eq(&self, other: &Self) -> bool;
fn close_pattern(&mut self, state: ScopeState, binders: &[Binder<N>]);
fn open_pattern(&mut self, state: ScopeState, binders: &[Binder<N>]);
fn visit_binders(
        &self,
        on_binder: &mut impl FnMut(&Binder<N>)
    );
fn visit_mut_binders(
        &mut self,
        on_binder: &mut impl FnMut(&mut Binder<N>)
    ); fn binders(&self) -> Vec<Binder<N>>
    where
        N: Clone
, { ... } }

Patterns that bind variables in terms

Required Methods

Alpha equivalence in a pattern context

Provided Methods

Returns the binders in this pattern

Implementations on Foreign Types

impl<N> BoundPattern<N> for ByteIndex
[src]

impl<N> BoundPattern<N> for ByteOffset
[src]

impl<N> BoundPattern<N> for ColumnIndex
[src]

impl<N> BoundPattern<N> for ColumnNumber
[src]

impl<N> BoundPattern<N> for ColumnOffset
[src]

impl<N> BoundPattern<N> for LineIndex
[src]

impl<N> BoundPattern<N> for LineNumber
[src]

impl<N> BoundPattern<N> for LineOffset
[src]

impl<N, T> BoundPattern<N> for Span<T>
[src]

impl<N, P> BoundPattern<N> for Vector<P> where
    N: Clone,
    P: Clone + BoundPattern<N>, 
[src]

impl<N> BoundPattern<N> for ()
[src]

impl<N> BoundPattern<N> for String
[src]

impl<N> BoundPattern<N> for str
[src]

impl<N> BoundPattern<N> for char
[src]

impl<N> BoundPattern<N> for bool
[src]

impl<N> BoundPattern<N> for u8
[src]

impl<N> BoundPattern<N> for u16
[src]

impl<N> BoundPattern<N> for u32
[src]

impl<N> BoundPattern<N> for u64
[src]

impl<N> BoundPattern<N> for usize
[src]

impl<N> BoundPattern<N> for i8
[src]

impl<N> BoundPattern<N> for i16
[src]

impl<N> BoundPattern<N> for i32
[src]

impl<N> BoundPattern<N> for i64
[src]

impl<N> BoundPattern<N> for isize
[src]

impl<N> BoundPattern<N> for f32
[src]

impl<N> BoundPattern<N> for f64
[src]

impl<N, P> BoundPattern<N> for Option<P> where
    P: BoundPattern<N>, 
[src]

impl<N, P1, P2> BoundPattern<N> for (P1, P2) where
    P1: BoundPattern<N>,
    P2: BoundPattern<N>, 
[src]

impl<N, P> BoundPattern<N> for Box<P> where
    P: BoundPattern<N>, 
[src]

impl<N, P> BoundPattern<N> for Rc<P> where
    P: BoundPattern<N> + Clone
[src]

impl<N, P> BoundPattern<N> for Arc<P> where
    P: BoundPattern<N> + Clone
[src]

impl<N, P> BoundPattern<N> for [P] where
    N: Clone,
    P: BoundPattern<N>, 
[src]

impl<N, P> BoundPattern<N> for Vec<P> where
    N: Clone,
    P: BoundPattern<N>, 
[src]

Implementors