Trait CodegenExtension

Source
pub trait CodegenExtension {
    // Required method
    fn add_extension<'a, H: HugrView<Node = Node> + 'a>(
        self,
        builder: CodegenExtsBuilder<'a, H>,
    ) -> CodegenExtsBuilder<'a, H>
       where Self: 'a;
}
Expand description

A helper to register codegen extensions.

Types that implement this trait can be registered with a CodegenExtsBuilder via CodegenExtsBuilder::add_extension.

See crate::extension::PreludeCodegenExtension for an example.

Required Methods§

Source

fn add_extension<'a, H: HugrView<Node = Node> + 'a>( self, builder: CodegenExtsBuilder<'a, H>, ) -> CodegenExtsBuilder<'a, H>
where Self: 'a,

Implementers should add each of their handlers to builder and return the resulting CodegenExtsBuilder.

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§