Trait HasChildrenMarker

Source
pub trait HasChildrenMarker<Child, const TAG: ChildTag>: Identifiable {
    type Container: FromOptVec<T = Child>;

    // Provided methods
    fn get_children<'b>(
        &self,
        tree: &'b SyntaxTree,
        token: &'b PermTkn,
    ) -> ChildrenRef<'b, Self, Child, TAG>
       where AnyNode: ConvertibleToRef<Child> { ... }
    fn get_children_mut<'b>(
        &self,
        tree: &'b SyntaxTree,
    ) -> ChildrenMut<'b, Self, Child, TAG>
       where AnyNode: ConvertibleToMut<Child> { ... }
}

Required Associated Types§

Source

type Container: FromOptVec<T = Child>

Provided Methods§

Source

fn get_children<'b>( &self, tree: &'b SyntaxTree, token: &'b PermTkn, ) -> ChildrenRef<'b, Self, Child, TAG>
where AnyNode: ConvertibleToRef<Child>,

Source

fn get_children_mut<'b>( &self, tree: &'b SyntaxTree, ) -> ChildrenMut<'b, Self, Child, TAG>
where AnyNode: ConvertibleToMut<Child>,

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§

Source§

impl HasChildrenMarker<<Option<ElseExpr> as FromOptVec>::T, 0> for IfExpr

Source§

impl HasChildrenMarker<<Option<Type> as FromOptVec>::T, 0> for AbstFnDecl

Source§

impl HasChildrenMarker<<Option<Type> as FromOptVec>::T, 0> for BodyFnDecl

Source§

impl HasChildrenMarker<<Option<Type> as FromOptVec>::T, 0> for VarDecl

Source§

impl HasChildrenMarker<<Vec<BlockLevel> as FromOptVec>::T, 0> for Exprs

Source§

impl HasChildrenMarker<<Vec<BodyFnDecl> as FromOptVec>::T, 0> for StructDecl

Source§

impl HasChildrenMarker<<Vec<ElifExpr> as FromOptVec>::T, 0> for IfExpr

Source§

impl HasChildrenMarker<<Vec<ModDecl> as FromOptVec>::T, 0> for FileDecl

Source§

impl HasChildrenMarker<<Vec<Operation> as FromOptVec>::T, 0> for TupleLit

Source§

impl HasChildrenMarker<<Vec<Operation> as FromOptVec>::T, $tag> for Appl

Source§

impl HasChildrenMarker<<Vec<Param> as FromOptVec>::T, 0> for BodyFnDecl

Source§

impl HasChildrenMarker<<Vec<Param> as FromOptVec>::T, $tag> for Lambda

Source§

impl HasChildrenMarker<<Vec<TopLevel> as FromOptVec>::T, 0> for ModDecl

Source§

impl HasChildrenMarker<<Vec<TyName> as FromOptVec>::T, 0> for EnumDecl

Source§

impl HasChildrenMarker<<Vec<TyParam> as FromOptVec>::T, 0> for AbstFnDecl

Source§

impl HasChildrenMarker<<Vec<TyParam> as FromOptVec>::T, 0> for StructDecl

Source§

impl HasChildrenMarker<<Vec<Type> as FromOptVec>::T, 0> for ProdTy

Source§

impl HasChildrenMarker<<Identity<Body> as FromOptVec>::T, 0> for BodyFnDecl

Source§

impl HasChildrenMarker<<Identity<Body> as FromOptVec>::T, 0> for ElifExpr

Source§

impl HasChildrenMarker<<Identity<Body> as FromOptVec>::T, 0> for ElseExpr

Source§

impl HasChildrenMarker<<Identity<Body> as FromOptVec>::T, 0> for IfExpr

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, 0> for ElifExpr

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, 0> for InitVar

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, 0> for UnExpr

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, $tag> for Acc

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, $tag> for Acc

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, $tag> for Appl

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, $tag> for BinExpr

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, $tag> for BinExpr

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, $tag> for IfExpr

Source§

impl HasChildrenMarker<<Identity<Operation> as FromOptVec>::T, $tag> for Lambda

Source§

impl HasChildrenMarker<<Identity<Type> as FromOptVec>::T, 0> for TyParam

Source§

impl HasChildrenMarker<<Identity<VarDecl> as FromOptVec>::T, 0> for InitVar