pub trait Visitor: Sized {
    type Output: Combine;
Show 13 methods
    // Provided methods
    fn visit_schema_inputs(
        &mut self,
        s: &mut Schema,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_schema_outputs(
        &mut self,
        s: &mut Schema,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_function_inputs(
        &mut self,
        f: &mut Function,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_function_outputs(
        &mut self,
        f: &mut Function,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_type(
        &mut self,
        t: &mut Type,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_enum(
        &mut self,
        e: &mut Enum,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_variant(
        &mut self,
        v: &mut Variant,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_struct(
        &mut self,
        s: &mut Struct,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_primitive(
        &mut self,
        p: &mut Primitive,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_type_parameter(
        &mut self,
        _p: &mut TypeParameter,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_field(
        &mut self,
        f: &mut Field,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_type_ref(
        &mut self,
        type_ref: &mut TypeReference,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
    fn visit_top_level_name(
        &mut self,
        _name: &mut String,
    ) -> ControlFlow<Self::Output, Self::Output> { ... }
}Expand description
A trait for traversing a Schema and its children.
Required Associated Types§
Provided Methods§
fn visit_schema_inputs( &mut self, s: &mut Schema, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_schema_outputs( &mut self, s: &mut Schema, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_function_inputs( &mut self, f: &mut Function, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_function_outputs( &mut self, f: &mut Function, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_type( &mut self, t: &mut Type, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_enum( &mut self, e: &mut Enum, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_variant( &mut self, v: &mut Variant, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_struct( &mut self, s: &mut Struct, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_primitive( &mut self, p: &mut Primitive, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_type_parameter( &mut self, _p: &mut TypeParameter, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_field( &mut self, f: &mut Field, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_type_ref( &mut self, type_ref: &mut TypeReference, ) -> ControlFlow<Self::Output, Self::Output>
fn visit_top_level_name( &mut self, _name: &mut String, ) -> ControlFlow<Self::Output, Self::Output>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.