Trait PortListSplit

Source
pub trait PortListSplit<S, A>: PortList<S> + Sealed<S, A>
where S: Polarity, A: PortList<S>,
{ type Suffix: PortList<S>; // Required method fn split_ctx( ctx: Self::Ctx<'_>, ) -> (A::Ctx<'_>, <Self::Suffix as PortList<S>>::Ctx<'_>); }
Expand description

Trait for splitting a list of ports into two.

Required Associated Types§

Source

type Suffix: PortList<S>

The suffix, second half of the split.

Required Methods§

Source

fn split_ctx( ctx: Self::Ctx<'_>, ) -> (A::Ctx<'_>, <Self::Suffix as PortList<S>>::Ctx<'_>)

Split the port list, returning the prefix and Self::Suffix as the two halves.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<S, H, T, U> PortListSplit<S, (Port<S, H>, U)> for (Port<S, H>, T)
where S: Polarity, H: Handoff, T: PortListSplit<S, U>, U: PortList<S>,

Source§

type Suffix = <T as PortListSplit<S, U>>::Suffix

Source§

fn split_ctx( ctx: Self::Ctx<'_>, ) -> (<(Port<S, H>, U) as PortList<S>>::Ctx<'_>, <Self::Suffix as PortList<S>>::Ctx<'_>)

Implementors§

Source§

impl<S, T> PortListSplit<S, ()> for T
where S: Polarity, T: PortList<S>,