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.