pub struct RuleDetail {
pub proof: RuleProof,
pub depends_on: Vec<RuleSummary>,
pub required_by: Vec<RuleSummary>,
pub missing: Option<String>,
}Expand description
One rule, with everything that proves it and everything that depends on it.
§Example
What rules show answers: the proof, the rules either side of it in the dependency
graph, and the one sentence saying what would make it proven.
use majordomus_cli::capability::builtin::rules::RuleSummary;
use majordomus_cli::rules::{Class, RuleState};
// a RuleDetail carries these summaries for depends_on and required_by
let dep = RuleSummary {
id: "project.dep".into(), title: "Dep".into(),
class: Class::Blocking, state: RuleState::NotRun,
};
assert_eq!(dep.class, Class::Blocking);Fields§
§proof: RuleProofThe rule, joined to the tree and the ledger.
depends_on: Vec<RuleSummary>The rules this one depends on, with the state each is in — a rule whose dependency is unproven is proven only as far as that dependency is.
required_by: Vec<RuleSummary>The rules that depend on this one.
missing: Option<String>What would have to be true for this rule to reach proven, in words, or nothing
when it is there already.
Trait Implementations§
Source§impl Clone for RuleDetail
impl Clone for RuleDetail
Source§fn clone(&self) -> RuleDetail
fn clone(&self) -> RuleDetail
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RuleDetail
impl Debug for RuleDetail
Source§impl<'de> Deserialize<'de> for RuleDetail
impl<'de> Deserialize<'de> for RuleDetail
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for RuleDetail
Source§impl JsonSchema for RuleDetail
impl JsonSchema for RuleDetail
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for RuleDetail
impl PartialEq for RuleDetail
Source§fn eq(&self, other: &RuleDetail) -> bool
fn eq(&self, other: &RuleDetail) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for RuleDetail
impl Serialize for RuleDetail
impl StructuralPartialEq for RuleDetail
Auto Trait Implementations§
impl Freeze for RuleDetail
impl RefUnwindSafe for RuleDetail
impl Send for RuleDetail
impl Sync for RuleDetail
impl Unpin for RuleDetail
impl UnsafeUnpin for RuleDetail
impl UnwindSafe for RuleDetail
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.