Trait Node

Source
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§

Source

fn accept<'a, V: NodeVisitor<'a, NodeTy = Self>>( &'a self, _visitor: &mut V, ) -> VortexResult<TraversalOrder>

Source

fn accept_with_context<'a, V: Folder<'a, NodeTy = Self>>( &'a self, visitor: &mut V, context: V::Context, ) -> VortexResult<FoldUp<V::Out>>

Source

fn transform<V: MutNodeVisitor<NodeTy = Self>>( self, _visitor: &mut V, ) -> VortexResult<TransformResult<Self>>

Source

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.

Implementors§