pub struct OperatorReason(/* private fields */);Expand description
A non-empty, operator-supplied justification for a forced transition.
ADR 0037 requires an explicit operator reason; this newtype makes “explicit” enforceable — it cannot be constructed from blank text, so a forced transition either carries a real justification or is refused for the lack of one. The stored text is trimmed of surrounding whitespace.
Implementations§
Source§impl OperatorReason
impl OperatorReason
Sourcepub fn new(
text: impl Into<String>,
) -> Result<OperatorReason, EmptyOperatorReason>
pub fn new( text: impl Into<String>, ) -> Result<OperatorReason, EmptyOperatorReason>
Build a reason from text, rejecting blank (empty or whitespace-only)
input. Surrounding whitespace is trimmed from the stored value.
pub fn as_str(&self) -> &str
Trait Implementations§
Source§impl Clone for OperatorReason
impl Clone for OperatorReason
Source§fn clone(&self) -> OperatorReason
fn clone(&self) -> OperatorReason
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OperatorReason
impl Debug for OperatorReason
Source§impl Display for OperatorReason
impl Display for OperatorReason
impl Eq for OperatorReason
Source§impl PartialEq for OperatorReason
impl PartialEq for OperatorReason
Source§fn eq(&self, other: &OperatorReason) -> bool
fn eq(&self, other: &OperatorReason) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for OperatorReason
Auto Trait Implementations§
impl Freeze for OperatorReason
impl RefUnwindSafe for OperatorReason
impl Send for OperatorReason
impl Sync for OperatorReason
impl Unpin for OperatorReason
impl UnsafeUnpin for OperatorReason
impl UnwindSafe for OperatorReason
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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
Compare self to
key and return true if they are equal.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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request