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§
Sourcefn add_extension<'a, H: HugrView<Node = Node> + 'a>(
self,
builder: CodegenExtsBuilder<'a, H>,
) -> CodegenExtsBuilder<'a, H>where
Self: 'a,
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.