Skip to main content

Either

Enum Either 

Source
pub enum Either<L, R> {
    Left(L),
    Right(R),
}
Expand description

One of two synchronous response shapes without allocation or type erasure.

Variants§

§

Left(L)

§

Right(R)

Trait Implementations§

Source§

impl<'req, 'd, L, R> IntoOutput<'req, 'd> for Either<L, R>
where L: Immediate<'req, 'd>, R: Immediate<'req, 'd>,

Source§

type Output = Either<L, R>

Source§

fn into_output(self) -> Self::Output

Auto Trait Implementations§

§

impl<L, R> Freeze for Either<L, R>
where L: Freeze, R: Freeze,

§

impl<L, R> RefUnwindSafe for Either<L, R>

§

impl<L, R> Send for Either<L, R>
where L: Send, R: Send,

§

impl<L, R> Sync for Either<L, R>
where L: Sync, R: Sync,

§

impl<L, R> Unpin for Either<L, R>
where L: Unpin, R: Unpin,

§

impl<L, R> UnsafeUnpin for Either<L, R>
where L: UnsafeUnpin, R: UnsafeUnpin,

§

impl<L, R> UnwindSafe for Either<L, R>
where L: UnwindSafe, R: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Convert<T> for T

Source§

fn into(self) -> T

Source§

impl<'req, 'd, T> Emit<'req, 'd> for T
where T: Complete<'req, 'd>,

Source§

const BODY: Kind = const BODY: payload::Kind = T::BODY;

Source§

type Kind = Sync

Source§

type Stream = Never

Source§

type Bound = <T as Complete<'req, 'd>>::Bound

Source§

fn emit<S>( self, sink: S, ) -> Result<<S as Accept<'d>>::Output, <S as Accept<'d>>::Error>
where S: Sink<'d>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'req, 'd, T> Immediate<'req, 'd> for T
where T: IntoOutput<'req, 'd>, <T as IntoOutput<'req, 'd>>::Output: Complete<'req, 'd>,

Source§

type Bound = <<T as IntoOutput<'req, 'd>>::Output as Complete<'req, 'd>>::Bound

Source§

fn emit<S>( self, sink: S, ) -> Result<<S as Accept<'d>>::Output, <S as Accept<'d>>::Error>
where S: Accept<'d>,

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.