Skip to main content

PinProjectEither

Trait PinProjectEither 

pub unsafe trait PinProjectEither { }
Expand description

Opt-in for the pin projection of a type generated by [define_either!].

[define_either!] provides as_pin_mut, and the Future impl built on it, only for types that implement this trait; so do the impls of impl_async_read_write_either!.

§Safety

The implementor, which must be the crate that invoked [define_either!] for the type, must ensure that for every instantiation of its type parameters the type has no Unpin impl other than the auto-trait one and no Drop impl. A variant reached through Pin<&mut Self> is then never moved before it is dropped (structural pinning).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

§

impl<A, B, C, D, E, F, G, H, I> PinProjectEither for Either9<A, B, C, D, E, F, G, H, I>

§

impl<A, B, C, D, E, F, G, H, I> PinProjectEither for EitherConn9<A, B, C, D, E, F, G, H, I>

§

impl<A, B, C, D, E, F, G, H, I> PinProjectEither for EitherConn9Connected<A, B, C, D, E, F, G, H, I>

§

impl<A, B, C, D, E, F, G, H> PinProjectEither for Either8<A, B, C, D, E, F, G, H>

§

impl<A, B, C, D, E, F, G, H> PinProjectEither for EitherConn8<A, B, C, D, E, F, G, H>

§

impl<A, B, C, D, E, F, G, H> PinProjectEither for EitherConn8Connected<A, B, C, D, E, F, G, H>

§

impl<A, B, C, D, E, F, G> PinProjectEither for Either7<A, B, C, D, E, F, G>

§

impl<A, B, C, D, E, F, G> PinProjectEither for EitherConn7<A, B, C, D, E, F, G>

§

impl<A, B, C, D, E, F, G> PinProjectEither for EitherConn7Connected<A, B, C, D, E, F, G>

§

impl<A, B, C, D, E, F> PinProjectEither for Either6<A, B, C, D, E, F>

§

impl<A, B, C, D, E, F> PinProjectEither for EitherConn6<A, B, C, D, E, F>

§

impl<A, B, C, D, E, F> PinProjectEither for EitherConn6Connected<A, B, C, D, E, F>

§

impl<A, B, C, D, E> PinProjectEither for Either5<A, B, C, D, E>

§

impl<A, B, C, D, E> PinProjectEither for EitherConn5<A, B, C, D, E>

§

impl<A, B, C, D, E> PinProjectEither for EitherConn5Connected<A, B, C, D, E>

§

impl<A, B, C, D> PinProjectEither for Either4<A, B, C, D>

§

impl<A, B, C, D> PinProjectEither for EitherConn4<A, B, C, D>

§

impl<A, B, C, D> PinProjectEither for EitherConn4Connected<A, B, C, D>

§

impl<A, B, C> PinProjectEither for Either3<A, B, C>

§

impl<A, B, C> PinProjectEither for EitherConn3<A, B, C>

§

impl<A, B, C> PinProjectEither for EitherConn3Connected<A, B, C>

§

impl<A, B> PinProjectEither for Either<A, B>

§

impl<A, B> PinProjectEither for EitherConn<A, B>

§

impl<A, B> PinProjectEither for EitherConnConnected<A, B>