pub struct StatusOutcome {
pub issue: Issue,
pub decision: Option<TransitionDecision>,
pub written: bool,
}Expand description
What the seam did (WP03 T013).
written and decision are deliberately redundant. Either alone would do:
written == false implies decision.is_none(), and a decision always implies
a write. They are both here because the two questions a caller asks are
different — “did anything happen?” and “what gets appended?” — and reading the
answer to one off the other is the kind of inference that breaks silently when a
fourth outcome is added later.
Fields§
§issue: IssueThe issue as it now stands in the store: the accepted column, the bumped
updated, and the appended decision. On an inert no-op this is the issue
exactly as it was.
decision: Option<TransitionDecision>The decision appended to the issue’s History, or None when nothing was
written.
written: boolWhether the file was written at all.
false for a same-column re-apply and for any path that carries no change.
A refusal is not represented here — it is an Err, so “refused” and
“accepted but did nothing” are different types rather than one Outcome
with a flag.
Trait Implementations§
Source§impl Clone for StatusOutcome
impl Clone for StatusOutcome
Source§impl Debug for StatusOutcome
impl Debug for StatusOutcome
impl Eq for StatusOutcome
Source§impl PartialEq for StatusOutcome
impl PartialEq for StatusOutcome
impl StructuralPartialEq for StatusOutcome
Auto Trait Implementations§
impl Freeze for StatusOutcome
impl RefUnwindSafe for StatusOutcome
impl Send for StatusOutcome
impl Sync for StatusOutcome
impl Unpin for StatusOutcome
impl UnsafeUnpin for StatusOutcome
impl UnwindSafe for StatusOutcome
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