Trait gluon_vm::core::optimize::ExprProducer
source · pub trait ExprProducer<'a, 'b> {
// Required methods
fn new(allocator: &'a Allocator<'a>) -> Self
where Self: Sized;
fn produce(&mut self, expr: CExpr<'b>) -> CExpr<'a>;
fn produce_slice(&mut self, expr: &'b [Expr<'b>]) -> &'a [Expr<'a>];
fn produce_alt(&mut self, alt: &'b Alternative<'b>) -> Alternative<'a>;
fn allocator(&self) -> &'a Allocator<'a>;
}