pub struct TieredIssue { /* private fields */ }Expand description
An issue whose tier has been resolved and recorded. The only holder of readable tracker text in this crate.
Debug delegates to RawIssue’s, so it does not print the body either.
Implementations§
Source§impl TieredIssue
impl TieredIssue
pub fn tier(&self) -> ProvenanceTier
pub fn record(&self) -> &ProvenanceRecord
pub fn repo(&self) -> &str
pub fn number(&self) -> u64
Sourcepub fn read_as_data(
&self,
now: SystemTime,
) -> Result<UntrustedText, ProvenanceRefusal>
pub fn read_as_data( &self, now: SystemTime, ) -> Result<UntrustedText, ProvenanceRefusal>
Read this issue’s text as data, at any tier, provided the tier is still fresh.
This is the ONLY way out of the type, and the freshness gate applies
here too: a tier resolved an hour ago is a stale grant even for a plain
read, because the record travelling with the text would be wrong. Any
tier may be read — a public report is still worth triaging — but the
text arrives wrapped, and wearing its tier.
Sourcepub fn seed_session(
&self,
now: SystemTime,
) -> Result<SessionSeed, ProvenanceRefusal>
pub fn seed_session( &self, now: SystemTime, ) -> Result<SessionSeed, ProvenanceRefusal>
Clear this issue’s text to seed a coder session, or refuse.
Sourcepub fn contract_source(
&self,
now: SystemTime,
) -> Result<ContractSource, ProvenanceRefusal>
pub fn contract_source( &self, now: SystemTime, ) -> Result<ContractSource, ProvenanceRefusal>
Clear this issue’s text to source an outcome contract, or refuse.
This is the gate that keeps the coder’s single non-failure terminal meaningful; see the module docs on contract poisoning.
Trait Implementations§
Source§impl Clone for TieredIssue
impl Clone for TieredIssue
Auto Trait Implementations§
impl Freeze for TieredIssue
impl RefUnwindSafe for TieredIssue
impl Send for TieredIssue
impl Sync for TieredIssue
impl Unpin for TieredIssue
impl UnsafeUnpin for TieredIssue
impl UnwindSafe for TieredIssue
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
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<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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