ferrite_session/internal/base/
public.rs

1#[doc(inline)]
2pub use super::{
3  AppendContext,
4  Context,
5  Empty,
6  EmptyContext,
7  PartialSession,
8  Protocol,
9  Rec,
10  RecX,
11  Release,
12  Session,
13  SharedChannel,
14  SharedProtocol,
15  SharedSession,
16  Slot,
17};
18
19pub trait ContextLens<C, A1, A2>: super::ContextLens<C, A1, A2>
20where
21  C: Context,
22  A1: Slot,
23  A2: Slot,
24{
25}
26
27impl<N, C, A1, A2> ContextLens<C, A1, A2> for N
28where
29  C: Context,
30  A1: Slot,
31  A2: Slot,
32  N: super::ContextLens<C, A1, A2>,
33{
34}
35
36pub trait RecApp<A>: super::RecApp<A> {}
37
38impl<A, X> RecApp<A> for X where X: super::RecApp<A> {}
39
40pub trait SharedRecApp<X>: super::SharedRecApp<X> {}
41
42impl<X, S> SharedRecApp<X> for S where S: super::SharedRecApp<X> {}
43
44pub trait HasRecApp<F, A>: super::HasRecApp<F, A> {}
45
46impl<F, A, X> HasRecApp<F, A> for X where X: super::HasRecApp<F, A> {}
47
48pub trait ForwardChannel: super::ForwardChannel {}
49
50impl<A> ForwardChannel for A where A: super::ForwardChannel {}