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.