1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
#[doc(inline)] pub use super::{ Empty, PartialSession, Rec, Session, SharedChannel, SharedSession, }; pub trait Protocol: super::Protocol { } impl<A> Protocol for A where A : super::Protocol {} pub trait SharedProtocol: super::SharedProtocol { } impl<A> SharedProtocol for A where A : super::SharedProtocol {} pub trait Context: super::Context { } impl<C> Context for C where C : super::Context {} pub trait EmptyContext: super::EmptyContext { } pub trait Slot: super::Slot { } impl<C> Slot for C where C : super::Slot {} impl<C> EmptyContext for C where C : super::EmptyContext {} pub trait AppendContext<C>: super::AppendContext<C> where C : Context, { } impl<C1, C2> AppendContext<C2> for C1 where C2 : Context, C1 : super::AppendContext<C2>, { } pub trait ContextLens<C, A1, A2>: super::ContextLens<C, A1, A2> where C : Context, A1 : Slot, A2 : Slot, { } impl<N, C, A1, A2> ContextLens<C, A1, A2> for N where C : Context, A1 : Slot, A2 : Slot, N : super::ContextLens<C, A1, A2>, { } pub trait RecApp<A>: super::RecApp<A> { } impl<A, X> RecApp<A> for X where X : super::RecApp<A> {} pub trait SharedRecApp<X>: super::SharedRecApp<X> { } impl<X, S> SharedRecApp<X> for S where S : super::SharedRecApp<X> {} pub trait HasRecApp<F, A>: super::HasRecApp<F, A> { } impl<F, A, X> HasRecApp<F, A> for X where X : super::HasRecApp<F, A> {} pub trait ForwardChannel: super::ForwardChannel { } impl<A> ForwardChannel for A where A : super::ForwardChannel {}