pub trait Source: Source + Source {
type Registry<C: Context>: State<C::Slots, Self::Entry<C>, Files = Self::Files<C::Slots>>;
type Entry<C: Context>: Entry<C, File = <<Self::Files<C::Slots> as Files<C::Slots>>::Changes as Changes>::Id>;
type Arm<'a, C, E, P>: Arm<'a, C, E, P, Files = Self::Files<C::Slots>, Entry = Self::Entry<C>, Registry = Self::Registry<C>, Failure = P::Failure>
where C: Context + 'a,
C::Slots: 'a,
E: Complete<Key = C::Key, Flow = C::Flow>,
P: Poll<C::Slots, Files = Self::Files<C::Slots>, Failure: Failure<Operation = C::Operation>> + 'a,
Self::Files<C::Slots>: 'a,
Self::Registry<C>: 'a;
type Poll<'a, C, L, E, P>: Poll<'a, C, L, E, P, Arm = Self::Arm<'a, C, E, P>, Pool = Self::Pool<L>>
where C: Context + 'a,
C::Slots: 'a,
L: Layout + 'a,
E: Complete<Key = C::Key, Flow = C::Flow, Accepted = <C::Slots as Slots>::Accepted, Buffer = <Self::Pool<L> as Pool>::Buffer>,
P: Poll<C::Slots, Files = Self::Files<C::Slots>, Failure: Failure<Operation = C::Operation>> + 'a,
Self::Files<C::Slots>: 'a,
Self::Registry<C>: 'a,
Self::Pool<L>: 'a;
}Required Associated Types§
type Registry<C: Context>: State<C::Slots, Self::Entry<C>, Files = Self::Files<C::Slots>>
type Entry<C: Context>: Entry<C, File = <<Self::Files<C::Slots> as Files<C::Slots>>::Changes as Changes>::Id>
type Arm<'a, C, E, P>: Arm<'a, C, E, P, Files = Self::Files<C::Slots>, Entry = Self::Entry<C>, Registry = Self::Registry<C>, Failure = P::Failure>
type Poll<'a, C, L, E, P>: Poll<'a, C, L, E, P, Arm = Self::Arm<'a, C, E, P>, Pool = Self::Pool<L>>where
C: Context + 'a,
C::Slots: 'a,
L: Layout + 'a,
E: Complete<Key = C::Key, Flow = C::Flow, Accepted = <C::Slots as Slots>::Accepted, Buffer = <Self::Pool<L> as Pool>::Buffer>,
P: Poll<C::Slots, Files = Self::Files<C::Slots>, Failure: Failure<Operation = C::Operation>> + 'a,
Self::Files<C::Slots>: 'a,
Self::Registry<C>: 'a,
Self::Pool<L>: 'a,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".