pub trait LocklessSplit {
type OwnedRead;
type OwnedWrite;
type Read<'cx>
where
Self: 'cx;
type Write<'cx>
where
Self: 'cx;
fn into_split(self) -> (Self::OwnedRead, Self::OwnedWrite);
}
pub trait LocklessSplitRef {
type Read<'cx>
where
Self: 'cx;
type Write<'cx>
where
Self: 'cx;
fn split(&mut self) -> (Self::Read<'_>, Self::Write<'_>);
}