pub enum ReturnGuard {
None,
Unconstructed(Identifier),
Constructed {
plain: Identifier,
any_return: Identifier,
},
}Variants§
None
There were no conditionals on the path to this return statement.
Unconstructed(Identifier)
There was a chain of conditionals on the path to this return statement, and they are true iff this Identifier is true.
Constructed
There was a chain of conditionals on the path to this return statement.`
Fields
§
plain: IdentifierTrue iff the conditionals on the path to this return statement are true.
§
any_return: IdentifierTrue iff any of the guards to return statements so far encountered are true. We cache this to guard asserts against early returns.
Trait Implementations§
Source§impl Clone for ReturnGuard
impl Clone for ReturnGuard
Source§fn clone(&self) -> ReturnGuard
fn clone(&self) -> ReturnGuard
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ReturnGuard
Auto Trait Implementations§
impl Freeze for ReturnGuard
impl RefUnwindSafe for ReturnGuard
impl Send for ReturnGuard
impl Sync for ReturnGuard
impl Unpin for ReturnGuard
impl UnwindSafe for ReturnGuard
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more