pub trait Rule: Send + Sync {
// Required methods
fn metadata(&self) -> &RuleMetadata;
fn evaluate(
&self,
package: &MirPackage,
inter_analysis: Option<&InterProceduralAnalysis>,
) -> Vec<Finding>;
// Provided method
fn cache_key(&self) -> String { ... }
}Required Methods§
fn metadata(&self) -> &RuleMetadata
Sourcefn evaluate(
&self,
package: &MirPackage,
inter_analysis: Option<&InterProceduralAnalysis>,
) -> Vec<Finding>
fn evaluate( &self, package: &MirPackage, inter_analysis: Option<&InterProceduralAnalysis>, ) -> Vec<Finding>
Evaluate this rule against a MIR package.
The optional inter_analysis parameter provides shared interprocedural
analysis (call graph, function summaries) for rules that need cross-function
taint tracking. Rules that don’t need it should ignore the parameter.