pub struct HistoryIntent {
pub kind: &'static str,
pub detail: String,
}Expand description
A History entry the apply intends to append. Not an event, and not an
HistoryEvent — constructing one would be the second History system contract
§7 prohibits, and appending one is the thing a plan must not do.
§The vocabulary is the existing one, and it is short
The only kind a plan can currently predict is transition_accepted, because
the only History event a bulk operation can cause is the one the status
seam writes. A bulk field change appends nothing because this path writes
the field directly and does not route through tix edit, whose estimate and
cycle-membership changes do append their own typed History events.
So “this plan appends no History” is a prediction about an absence, and the
plan reports it as the empty list rather than inventing a name. The apply
reaches the same answer from the other direction: the field write goes through
Store::update and the transition goes through Store::set_status, and only
the latter appends.
Fields§
§kind: &'static strA crate::model::HistoryEventKind::as_str spelling. A &'static str and
not the enum, because a plan must not be able to construct one — but it
must be checked against the enum’s spelling by the apply, and a test pins
that every kind a plan emits is one the model can actually produce.
detail: StringTrait Implementations§
Source§impl Clone for HistoryIntent
impl Clone for HistoryIntent
Source§impl Debug for HistoryIntent
impl Debug for HistoryIntent
impl Eq for HistoryIntent
Source§impl PartialEq for HistoryIntent
impl PartialEq for HistoryIntent
impl StructuralPartialEq for HistoryIntent
Auto Trait Implementations§
impl Freeze for HistoryIntent
impl RefUnwindSafe for HistoryIntent
impl Send for HistoryIntent
impl Sync for HistoryIntent
impl Unpin for HistoryIntent
impl UnsafeUnpin for HistoryIntent
impl UnwindSafe for HistoryIntent
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.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more