pub trait PredicateRunner: Send + Sync {
// Required methods
fn hash(&self) -> PredicateHash;
fn kind(&self) -> PredicateKind;
fn evaluate<'life0, 'async_trait>(
&'life0 self,
context: PredicateContext,
) -> Pin<Box<dyn Future<Output = InvariantResult> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn name(&self) -> String { ... }
fn fallback_hash(&self) -> Option<PredicateHash> { ... }
fn fallback_policy(&self) -> SemanticFallbackPolicy { ... }
fn fallback_diagnostic(&self) -> Option<InvariantBlockError> { ... }
fn raw_result(&self) -> Option<Value> { ... }
fn enforced(&self) -> bool { ... }
fn evidence(&self) -> BTreeMap<String, String> { ... }
}Expand description
Predicate runner supplied by a collector or Harn adapter.
Required Methods§
fn hash(&self) -> PredicateHash
fn kind(&self) -> PredicateKind
fn evaluate<'life0, 'async_trait>(
&'life0 self,
context: PredicateContext,
) -> Pin<Box<dyn Future<Output = InvariantResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provided Methods§
fn name(&self) -> String
fn fallback_hash(&self) -> Option<PredicateHash>
fn fallback_policy(&self) -> SemanticFallbackPolicy
fn fallback_diagnostic(&self) -> Option<InvariantBlockError>
fn raw_result(&self) -> Option<Value>
fn enforced(&self) -> bool
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".