pub trait TargetEmitter: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn try_emit(
&self,
module: &Module,
config: &BackendConfig,
) -> Option<Result<EmittedText, BackendError>>;
}Expand description
Single-emitter trait — sub-trait of a multi-emitter backend.
One TargetEmitter handles emission for one logical path
(general vs specialist). Each MultiEmitterBackend wraps
one mandatory general emitter and optionally one specialist.
Required Methods§
Sourcefn name(&self) -> &str
fn name(&self) -> &str
Human-readable emitter name (used in QuorumStatus).
Sourcefn try_emit(
&self,
module: &Module,
config: &BackendConfig,
) -> Option<Result<EmittedText, BackendError>>
fn try_emit( &self, module: &Module, config: &BackendConfig, ) -> Option<Result<EmittedText, BackendError>>
Attempt to emit for this input. Specialists return None
when their shape filter doesn’t match — the wrapper then
uses only the general emitter. General emitters should
always return Some(...) for any contract-conforming input.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".