ferrite_session/internal/base/
public.rs1#[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 {}