Trait Signal

Source
pub trait Signal<T, S>: Sized
where S: Slot<T>,
{ type Connected; // Required method fn connect_slot(self, slot: S) -> Self::Connected; }

Required Associated Types§

Required Methods§

Source

fn connect_slot(self, slot: S) -> Self::Connected

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, T, S, U> Signal<T, S> for &'a mut Activator<T, S, U>
where S: Slot<T>, U: Source<T>,

Source§

impl<T, R, S, X, F> Signal<R, S> for MappedSignal<T, R, X, F>
where F: Fn(T) -> R, X: Signal<T, MappedSlot<T, R, S, F>>, S: Slot<R>, T: Clone,

Source§

type Connected = <X as Signal<T, MappedSlot<T, R, S, F>>>::Connected

Source§

impl<T, S> Signal<T, S> for DisconnectedActivator
where S: Slot<T>,

Source§

impl<T, S> Signal<T, S> for EmptySplitter
where T: Clone, S: Slot<T>,

Source§

impl<T, S, U> Signal<T, S> for SourceConnectedActivator<T, U>
where S: Slot<T>, U: Source<T>,

Source§

impl<T, S, U, P> Signal<T, S> for Splitter<T, U, P>
where T: Clone, S: Slot<T>, U: Slot<T>,

Source§

type Connected = Splitter<T, S, Splitter<T, U, P>>

Source§

impl<T, S, Y, X> Signal<T, X> for MergedSignals<S, Y>
where S: Signal<T, X>, Y: Signal<T, X>, X: Clone + Slot<T>,

Source§

type Connected = (<S as Signal<T, X>>::Connected, <Y as Signal<T, X>>::Connected)