Skip to main content

TargetEmitter

Trait TargetEmitter 

Source
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§

Source

fn name(&self) -> &str

Human-readable emitter name (used in QuorumStatus).

Source

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".

Implementors§