pub trait Node: Sized {
// Required methods
fn accept<'a, V: NodeVisitor<'a, NodeTy = Self>>(
&'a self,
_visitor: &mut V,
) -> VortexResult<TraversalOrder>;
fn accept_with_context<'a, V: Folder<'a, NodeTy = Self>>(
&'a self,
visitor: &mut V,
context: V::Context,
) -> VortexResult<FoldUp<V::Out>>;
fn transform<V: MutNodeVisitor<NodeTy = Self>>(
self,
_visitor: &mut V,
) -> VortexResult<TransformResult<Self>>;
fn transform_with_context<V: FolderMut<NodeTy = Self>>(
self,
_visitor: &mut V,
_context: V::Context,
) -> VortexResult<FoldUp<V::Out>>;
}Required Methods§
fn accept<'a, V: NodeVisitor<'a, NodeTy = Self>>( &'a self, _visitor: &mut V, ) -> VortexResult<TraversalOrder>
fn accept_with_context<'a, V: Folder<'a, NodeTy = Self>>( &'a self, visitor: &mut V, context: V::Context, ) -> VortexResult<FoldUp<V::Out>>
fn transform<V: MutNodeVisitor<NodeTy = Self>>( self, _visitor: &mut V, ) -> VortexResult<TransformResult<Self>>
fn transform_with_context<V: FolderMut<NodeTy = Self>>( self, _visitor: &mut V, _context: V::Context, ) -> VortexResult<FoldUp<V::Out>>
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.