pub trait ExtensionExpr:
Debug
+ Send
+ Sync {
// Required methods
fn as_any(&self) -> &dyn Any;
fn name(&self) -> &str;
fn value_type(&self) -> ValueType;
fn children(&self) -> &[Expr];
fn with_new_children(&self, children: Vec<Expr>) -> Arc<dyn ExtensionExpr>;
}Expand description
The interface for extending the AST with custom expression node.
Required Methods§
fn as_any(&self) -> &dyn Any
fn name(&self) -> &str
fn value_type(&self) -> ValueType
fn children(&self) -> &[Expr]
fn with_new_children(&self, children: Vec<Expr>) -> Arc<dyn ExtensionExpr>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".