Trait ConstGenerator

Source
pub trait ConstGenerator<'model>: Generator<'model> {
    // Required methods
    fn constant(&self) -> Named<'model, Constant>;
    fn write_header(&mut self) -> Result<(), GeneratorError>;
    fn write_constant(
        &mut self,
        version_name: String,
        t: LangType<'model>,
        value: LangExpr<'model>,
    ) -> Result<(), GeneratorError>;
    fn write_footer(&mut self) -> Result<(), GeneratorError>;

    // Provided methods
    fn generate(&mut self) -> Result<(), GeneratorError> { ... }
    fn build_value_from_prev(
        &self,
        prev_ver: &BigUint,
        version: &BigUint,
        t: &Type,
    ) -> Result<LangExpr<'model>, GeneratorError> { ... }
}

Required Methods§

Source

fn constant(&self) -> Named<'model, Constant>

Source

fn write_header(&mut self) -> Result<(), GeneratorError>

Source

fn write_constant( &mut self, version_name: String, t: LangType<'model>, value: LangExpr<'model>, ) -> Result<(), GeneratorError>

Provided Methods§

Source

fn generate(&mut self) -> Result<(), GeneratorError>

Source

fn build_value_from_prev( &self, prev_ver: &BigUint, version: &BigUint, t: &Type, ) -> Result<LangExpr<'model>, GeneratorError>

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§