Skip to main content

OptimizationPass

Trait OptimizationPass 

Source
pub trait OptimizationPass {
    // Required methods
    fn name(&self) -> &str;
    fn description(&self) -> &str;
    fn optimization_level(&self) -> OptimizationLevel;
    fn optimize(
        &mut self,
        ast: &mut Program,
    ) -> Result<OptimizationResult, CompilerError>;
    fn should_apply(&self, context: &OptimizationContext) -> bool;
    fn dependencies(&self) -> Vec<String>;
}
Expand description

Optimization pass trait

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§