Skip to main content

ValidationEngine

Trait ValidationEngine 

Source
pub trait ValidationEngine {
    // Required methods
    fn engine_name(&self) -> &str;
    fn evaluate_rules(
        &self,
        model: &Arc<SemanticModel>,
        config: &ValidateConfig,
    ) -> Result<Vec<Diagnostic>, ValidationError>;
    fn list_rules(&self) -> Vec<RuleInfo>;
    fn rule_metadata(&self) -> &HashMap<String, RuleMetadataEntry>;
    fn external_rule_metadata(&self) -> HashMap<String, RuleMetadataEntry>;
    fn init_metric(&self) -> &PhaseMetric;
}

Required Methods§

Source

fn engine_name(&self) -> &str

Source

fn evaluate_rules( &self, model: &Arc<SemanticModel>, config: &ValidateConfig, ) -> Result<Vec<Diagnostic>, ValidationError>

Source

fn list_rules(&self) -> Vec<RuleInfo>

Source

fn rule_metadata(&self) -> &HashMap<String, RuleMetadataEntry>

Built-in rule metadata from the rules registry only.

Source

fn external_rule_metadata(&self) -> HashMap<String, RuleMetadataEntry>

Metadata for rules not in the registry: custom user rules and Guard rules.

Source

fn init_metric(&self) -> &PhaseMetric

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§