pub trait ExtensionProvider {
// Required methods
fn identity(
&self,
pins: &[PluginPin],
feature_type: &str,
) -> Result<String, String>;
fn execute(
&self,
pins: &[PluginPin],
ctx: &FeatureContext<'_>,
) -> FeatureResult;
// Provided method
fn execute_annotation(
&self,
_pins: &[PluginPin],
annotation: &PmiAnnotation,
_context: &PmiContext<'_>,
) -> Result<PluginAnnotationOutput, String> { ... }
}Required Methods§
fn identity( &self, pins: &[PluginPin], feature_type: &str, ) -> Result<String, String>
fn execute(&self, pins: &[PluginPin], ctx: &FeatureContext<'_>) -> FeatureResult
Provided Methods§
Sourcefn execute_annotation(
&self,
_pins: &[PluginPin],
annotation: &PmiAnnotation,
_context: &PmiContext<'_>,
) -> Result<PluginAnnotationOutput, String>
fn execute_annotation( &self, _pins: &[PluginPin], annotation: &PmiAnnotation, _context: &PmiContext<'_>, ) -> Result<PluginAnnotationOutput, String>
Separate typed annotation domain; never dispatched as a solid feature.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".