Trait IntoPipeSystem

Source
pub trait IntoPipeSystem<ParamA, Payload, SystemB, ParamB, Out>: Sized + IntoSystem<(), Payload, ParamA>
where SystemB: IntoSystem<Payload, Out, ParamB>,
{ // Required method fn pipe( self, system: SystemB, ) -> PipeSystem<Self::System, <SystemB as IntoSystem<Payload, Out, ParamB>>::System>; }
Expand description

An extension trait providing the IntoPipeSystem::pipe method to pass input from one system into the next.

The first system must have return type T and the second system must have In<T> as its first system parameter.

This trait is blanket implemented for all system pairs that fulfill the type requirements.

See PipeSystem.

Required Methods§

Source

fn pipe( self, system: SystemB, ) -> PipeSystem<Self::System, <SystemB as IntoSystem<Payload, Out, ParamB>>::System>

Pass the output of this system A into a second system B, creating a new compound system.

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<SystemA, ParamA, Payload, SystemB, ParamB, Out> IntoPipeSystem<ParamA, Payload, SystemB, ParamB, Out> for SystemA
where SystemA: IntoSystem<(), Payload, ParamA>, SystemB: IntoSystem<Payload, Out, ParamB>,