Skip to main content

ModuleApply

Trait ModuleApply 

Source
pub trait ModuleApply {
    // Required methods
    fn apply<F>(&mut self, f: &F) -> Result<()>
       where F: Fn(&mut dyn Module) -> Result<()>;
    fn apply_to_parameters<F>(&mut self, f: &F) -> Result<()>
       where F: Fn(&mut Parameter) -> Result<()>;
    fn apply_to_modules<F>(&mut self, f: &F) -> Result<()>
       where F: Fn(&mut dyn Module) -> Result<()>;
}
Expand description

Extension trait for applying functions to modules (separate to maintain dyn compatibility)

Required Methods§

Source

fn apply<F>(&mut self, f: &F) -> Result<()>
where F: Fn(&mut dyn Module) -> Result<()>,

Apply a function to all submodules recursively

Source

fn apply_to_parameters<F>(&mut self, f: &F) -> Result<()>
where F: Fn(&mut Parameter) -> Result<()>,

Apply function to all parameters recursively

Source

fn apply_to_modules<F>(&mut self, f: &F) -> Result<()>
where F: Fn(&mut dyn Module) -> Result<()>,

Apply function to all modules recursively

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<T: Module> ModuleApply for T

Blanket implementation for all modules