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.

Object Safety§

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>,