pub struct ProfileExplanation {
pub capabilities: Vec<(String, Vec<(&'static str, &'static str)>)>,
pub blocked_by: Option<(String, FacetMismatch)>,
}Expand description
A human-readable account of what a command resolved to and, when the band rejects it, which facet said no.
The engine was write-only before this: admits answered yes/no and nothing reported the axis.
Both a user asking “why was this denied” and an author debugging a resolver were left bisecting
by editing facets and re-running — which is exactly how an incomplete loopback delta got
mistaken for a flawed approach rather than a missing line.
Fields§
§capabilities: Vec<(String, Vec<(&'static str, &'static str)>)>One entry per capability: its because and the facets it sets.
blocked_by: Option<(String, FacetMismatch)>(level name, why it refuses) — absent when the band admits the profile.
Auto Trait Implementations§
impl Freeze for ProfileExplanation
impl RefUnwindSafe for ProfileExplanation
impl Send for ProfileExplanation
impl Sync for ProfileExplanation
impl Unpin for ProfileExplanation
impl UnsafeUnpin for ProfileExplanation
impl UnwindSafe for ProfileExplanation
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