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§
fn engine_name(&self) -> &str
fn evaluate_rules( &self, model: &Arc<SemanticModel>, config: &ValidateConfig, ) -> Result<Vec<Diagnostic>, ValidationError>
fn list_rules(&self) -> Vec<RuleInfo>
Sourcefn rule_metadata(&self) -> &HashMap<String, RuleMetadataEntry>
fn rule_metadata(&self) -> &HashMap<String, RuleMetadataEntry>
Built-in rule metadata from the rules registry only.
Sourcefn external_rule_metadata(&self) -> HashMap<String, RuleMetadataEntry>
fn external_rule_metadata(&self) -> HashMap<String, RuleMetadataEntry>
Metadata for rules not in the registry: custom user rules and Guard rules.
fn init_metric(&self) -> &PhaseMetric
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".