pub trait Language: CtxEq<Self::Node, Self::Node> + CtxHash<Self::Node> {
    type Node: Debug;

    // Required methods
    fn children<'a>(&'a self, node: &'a Self::Node) -> &'a [Id];
    fn children_mut<'a>(&'a mut self, ctx: &'a mut Self::Node) -> &'a mut [Id];
    fn needs_dedup(&self, node: &Self::Node) -> bool;
}
Expand description

A trait implemented by all “languages” (types that can be enodes).

Required Associated Types§

Required Methods§

source

fn children<'a>(&'a self, node: &'a Self::Node) -> &'a [Id]

source

fn children_mut<'a>(&'a mut self, ctx: &'a mut Self::Node) -> &'a mut [Id]

source

fn needs_dedup(&self, node: &Self::Node) -> bool

Implementors§