pub enum Actor {
Human(String),
Tool(String, String),
Process(String),
}Expand description
Who produced or confirmed a concept, in the actor form §7 requires.
The three shapes are not interchangeable: a consumer classifying trust keys
off the human: prefix, so using the wrong one silently moves a concept
between tiers.
§Deliberately exhaustive
This is deliberately not #[non_exhaustive], though these crates are
published and a fourth variant would therefore be a breaking change. The
set is closed by the specification, not by us: §7 defines exactly these
three forms, and a
fourth appearing means OKF changed. When that happens a caller matching on
this enum should stop compiling, because a new actor form is a decision
about trust that must be looked at rather than absorbed by a wildcard arm.
#[non_exhaustive] would buy version-compatibility at the price of making
that change silent — which is the opposite of what the trust model needs.
Variants§
Human(String)
A person: human:<id>. The only form that yields the human-reviewed tier.
Tool(String, String)
A tool, as <producer>/<version>.
Process(String)
An automated process: process:<id>.
Implementations§
Trait Implementations§
impl Eq for Actor
impl StructuralPartialEq for Actor
Auto Trait Implementations§
impl Freeze for Actor
impl RefUnwindSafe for Actor
impl Send for Actor
impl Sync for Actor
impl Unpin for Actor
impl UnsafeUnpin for Actor
impl UnwindSafe for Actor
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.