Trait despero::ecs::system::System

source ·
pub trait System<Args, Ret> {
    // Required methods
    fn execute(&mut self, context: &Context<'_>) -> Result<(), Error>;
    fn name(&self) -> Cow<'static, str>;
    fn borrows() -> SmallVec<[Access; 8]>;

    // Provided method
    fn named<S>(self, name: S) -> NamedSystem<Self>
       where S: Into<Cow<'static, str>>,
             Self: Sized { ... }
}
Expand description

Trait which defines any function or type that can operate on a world or other context.

Required Methods§

source

fn execute(&mut self, context: &Context<'_>) -> Result<(), Error>

Executes the by borrowing from context

source

fn name(&self) -> Cow<'static, str>

Returns the system name. Used for debug purposes

source

fn borrows() -> SmallVec<[Access; 8]>

Returns which data will be accessed

Provided Methods§

source

fn named<S>(self, name: S) -> NamedSystem<Self>where S: Into<Cow<'static, str>>, Self: Sized,

Wrap the system with a custom name

Implementors§

source§

impl<Err, F> System<(), Result<(), Err>> for Fwhere Err: Into<Error>, F: FnMut() -> Result<(), Err>,

source§

impl<Err, Func, L> System<(L,), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L) -> Result<(), Err> + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K> System<(L, K), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K) -> Result<(), Err> + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J> System<(L, K, J), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J) -> Result<(), Err> + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I> System<(L, K, J, I), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I) -> Result<(), Err> + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H> System<(L, K, J, I, H), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H) -> Result<(), Err> + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H, G> System<(L, K, J, I, H, G), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G) -> Result<(), Err> + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H, G, F> System<(L, K, J, I, H, G, F), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F) -> Result<(), Err> + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H, G, F, E> System<(L, K, J, I, H, G, F, E), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E) -> Result<(), Err> + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H, G, F, E, D> System<(L, K, J, I, H, G, F, E, D), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D) -> Result<(), Err> + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H, G, F, E, D, C> System<(L, K, J, I, H, G, F, E, D, C), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D, C) -> Result<(), Err> + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<C as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow, C: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H, G, F, E, D, C, B> System<(L, K, J, I, H, G, F, E, D, C, B), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D, C, B) -> Result<(), Err> + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<C as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<B as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow, C: IntoBorrow + ComponentBorrow, B: IntoBorrow + ComponentBorrow,

source§

impl<Err, Func, L, K, J, I, H, G, F, E, D, C, B, A> System<(L, K, J, I, H, G, F, E, D, C, B, A), Result<(), Err>> for Funcwhere Err: Into<Error>, &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D, C, B, A) -> Result<(), Err> + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<C as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<B as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<A as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow, C: IntoBorrow + ComponentBorrow, B: IntoBorrow + ComponentBorrow, A: IntoBorrow + ComponentBorrow,

source§

impl<F> System<(), ()> for Fwhere F: FnMut(),

source§

impl<F, Args, Ret> System<Args, Ret> for NamedSystem<F>where F: System<Args, Ret>,

source§

impl<Func, L> System<(L,), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K> System<(L, K), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J> System<(L, K, J), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I> System<(L, K, J, I), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H> System<(L, K, J, I, H), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H, G> System<(L, K, J, I, H, G), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H, G, F> System<(L, K, J, I, H, G, F), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H, G, F, E> System<(L, K, J, I, H, G, F, E), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H, G, F, E, D> System<(L, K, J, I, H, G, F, E, D), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H, G, F, E, D, C> System<(L, K, J, I, H, G, F, E, D, C), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D, C) + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<C as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow, C: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H, G, F, E, D, C, B> System<(L, K, J, I, H, G, F, E, D, C, B), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D, C, B) + for<'b, 'a> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<C as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<B as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow, C: IntoBorrow + ComponentBorrow, B: IntoBorrow + ComponentBorrow,

source§

impl<Func, L, K, J, I, H, G, F, E, D, C, B, A> System<(L, K, J, I, H, G, F, E, D, C, B, A), ()> for Funcwhere &'b mut Func: for<'a, 'b> FnMut(L, K, J, I, H, G, F, E, D, C, B, A) + for<'a, 'b> FnMut(<<L as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<K as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<J as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<I as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<H as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<G as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<F as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<E as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<D as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<C as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<B as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target, <<A as IntoBorrow>::Borrow as ContextBorrow<'a>>::Target), L: IntoBorrow + ComponentBorrow, K: IntoBorrow + ComponentBorrow, J: IntoBorrow + ComponentBorrow, I: IntoBorrow + ComponentBorrow, H: IntoBorrow + ComponentBorrow, G: IntoBorrow + ComponentBorrow, F: IntoBorrow + ComponentBorrow, E: IntoBorrow + ComponentBorrow, D: IntoBorrow + ComponentBorrow, C: IntoBorrow + ComponentBorrow, B: IntoBorrow + ComponentBorrow, A: IntoBorrow + ComponentBorrow,