[−][src]Struct gluon_base::types::ControlVisitation
Wrapper type which allows functions to control how to traverse the members of the type
Trait Implementations
impl<F, I, T> TypeVisitor<I, T> for ControlVisitation<F> where
F: FnMut(&T) -> Option<T>,
T: From<Type<I, T>>,
[src]
F: FnMut(&T) -> Option<T>,
T: From<Type<I, T>>,
fn visit(&mut self, typ: &T) -> Option<T> where
T: Deref<Target = Type<I, T>> + From<Type<I, T>> + Clone,
I: Clone,
[src]
T: Deref<Target = Type<I, T>> + From<Type<I, T>> + Clone,
I: Clone,
fn make(&mut self, typ: Type<I, T>) -> T
[src]
fn forall(&mut self, params: Vec<Generic<Id>>, typ: T) -> T
[src]
fn app(&mut self, id: T, args: AppVec<T>) -> T
[src]
impl<'a, F: ?Sized, T> Walker<'a, T> for ControlVisitation<F> where
F: FnMut(&'a T),
T: 'a,
[src]
F: FnMut(&'a T),
T: 'a,
Auto Trait Implementations
impl<F: ?Sized> Send for ControlVisitation<F> where
F: Send,
F: Send,
impl<F: ?Sized> Sync for ControlVisitation<F> where
F: Sync,
F: Sync,
Blanket Implementations
impl<I, T, F> TypeVisitor for F where
F: FnMut(&T) -> Option<T> + ?Sized,
T: From<Type<I, T>>,
[src]
F: FnMut(&T) -> Option<T> + ?Sized,
T: From<Type<I, T>>,
fn visit(&mut Self, &T) -> Option<T> where
I: Clone,
T: Deref<Target = Type<I, T>> + From<Type<I, T>> + Clone,
[src]
I: Clone,
T: Deref<Target = Type<I, T>> + From<Type<I, T>> + Clone,
fn make(&mut Self, Type<I, T>) -> T
[src]
fn forall(&mut self, params: Vec<Generic<Id>>, typ: T) -> T
[src]
fn app(&mut self, id: T, args: AppVec<T>) -> T
[src]
impl<'a, F> Walker for F where
F: FnMut(&ArcKind) + ?Sized,
[src]
F: FnMut(&ArcKind) + ?Sized,
impl<'a, I, T, F> Walker for F where
F: FnMut(&'a T) + ?Sized,
I: 'a,
T: Deref<Target = Type<I, T>> + 'a,
[src]
F: FnMut(&'a T) + ?Sized,
I: 'a,
T: Deref<Target = Type<I, T>> + 'a,
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,