Trait bevy_ecs::system::SystemParamFunction

source ·
pub trait SystemParamFunction<Marker>: Send + Sync + 'static {
    type In;
    type Out;
    type Param: SystemParam;

    // Required method
    fn run(
        &mut self,
        input: Self::In,
        param_value: SystemParamItem<'_, '_, Self::Param>,
    ) -> Self::Out;
}
Expand description

A trait implemented for all functions that can be used as Systems.

This trait can be useful for making your own systems which accept other systems, sometimes called higher order systems.

This should be used in combination with ParamSet when calling other systems within your system. Using ParamSet in this case avoids SystemParam collisions.

§Example

To create something like PipeSystem, but in entirely safe code.

use std::num::ParseIntError;

use bevy_ecs::prelude::*;

/// Pipe creates a new system which calls `a`, then calls `b` with the output of `a`
pub fn pipe<A, B, AMarker, BMarker>(
    mut a: A,
    mut b: B,
) -> impl FnMut(In<A::In>, ParamSet<(A::Param, B::Param)>) -> B::Out
where
    // We need A and B to be systems, add those bounds
    A: SystemParamFunction<AMarker>,
    B: SystemParamFunction<BMarker, In = A::Out>,
{
    // The type of `params` is inferred based on the return of this function above
    move |In(a_in), mut params| {
        let shared = a.run(a_in, params.p0());
        b.run(shared, params.p1())
    }
}

// Usage example for `pipe`:
fn main() {
    let mut world = World::default();
    world.insert_resource(Message("42".to_string()));

    // pipe the `parse_message_system`'s output into the `filter_system`s input
    let mut piped_system = IntoSystem::into_system(pipe(parse_message, filter));
    piped_system.initialize(&mut world);
    assert_eq!(piped_system.run((), &mut world), Some(42));
}

#[derive(Resource)]
struct Message(String);

fn parse_message(message: Res<Message>) -> Result<usize, ParseIntError> {
    message.0.parse::<usize>()
}

fn filter(In(result): In<Result<usize, ParseIntError>>) -> Option<usize> {
    result.ok().filter(|&n| n < 100)
}

Required Associated Types§

source

type In

The input type to this system. See System::In.

source

type Out

The return type of this system. See System::Out.

source

type Param: SystemParam

The SystemParam/s used by this system to access the World.

Required Methods§

source

fn run( &mut self, input: Self::In, param_value: SystemParamItem<'_, '_, Self::Param>, ) -> Self::Out

Executes this system once. See System::run or System::run_unsafe.

Implementors§

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static> SystemParamFunction<fn(_: Trigger<'_, E, B>)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = ()

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0,)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0, F1)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0, F1, F2)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0, F1, F2, F3)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0, F1, F2, F3, F4)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0, F1, F2, F3, F4, F5)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0, F1, F2, F3, F4, F5, F6)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>),

§

type In = Trigger<'static, E, B>

§

type Out = ()

§

type Param = (F0, F1, F2, F3, F4, F5, F6, F7)

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>),

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>),

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>),

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>),

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>),

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>),

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam, F14: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>, SystemParamItem<'_, '_, F14>),

source§

impl<E: 'static, B: Bundle, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam, F14: SystemParam, F15: SystemParam> SystemParamFunction<fn(_: Trigger<'_, E, B>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14, _: F15)> for Func
where for<'a> &'a mut Func: FnMut(Trigger<'_, E, B>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15) + FnMut(Trigger<'_, E, B>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>, SystemParamItem<'_, '_, F14>, SystemParamItem<'_, '_, F15>),

source§

impl<Input, Out, Func: Send + Sync + 'static> SystemParamFunction<fn(_: In<Input>) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = ()

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0,)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2, F3)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2, F3, F4)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2, F3, F4, F5)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2, F3, F4, F5, F6)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>) -> Out, Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2, F3, F4, F5, F6, F7)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>) -> Out, Out: 'static,

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>) -> Out, Out: 'static,

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>) -> Out, Out: 'static,

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>) -> Out, Out: 'static,

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>) -> Out, Out: 'static,

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>) -> Out, Out: 'static,

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam, F14: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>, SystemParamItem<'_, '_, F14>) -> Out, Out: 'static,

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam, F14: SystemParam, F15: SystemParam> SystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14, _: F15) -> Out> for Func
where for<'a> &'a mut Func: FnMut(In<Input>, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15) -> Out + FnMut(In<Input>, SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>, SystemParamItem<'_, '_, F14>, SystemParamItem<'_, '_, F15>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static> SystemParamFunction<fn() -> Out> for Func
where for<'a> &'a mut Func: FnMut() -> Out, Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = ()

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam> SystemParamFunction<fn(_: F0) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0) -> Out + FnMut(SystemParamItem<'_, '_, F0>) -> Out, Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0,)

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam> SystemParamFunction<fn(_: F0, _: F1) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>) -> Out, Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1)

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>) -> Out, Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1, F2)

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>) -> Out, Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1, F2, F3)

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>) -> Out, Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1, F2, F3, F4)

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam, F14: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>, SystemParamItem<'_, '_, F14>) -> Out, Out: 'static,

source§

impl<Out, Func: Send + Sync + 'static, F0: SystemParam, F1: SystemParam, F2: SystemParam, F3: SystemParam, F4: SystemParam, F5: SystemParam, F6: SystemParam, F7: SystemParam, F8: SystemParam, F9: SystemParam, F10: SystemParam, F11: SystemParam, F12: SystemParam, F13: SystemParam, F14: SystemParam, F15: SystemParam> SystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14, _: F15) -> Out> for Func
where for<'a> &'a mut Func: FnMut(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15) -> Out + FnMut(SystemParamItem<'_, '_, F0>, SystemParamItem<'_, '_, F1>, SystemParamItem<'_, '_, F2>, SystemParamItem<'_, '_, F3>, SystemParamItem<'_, '_, F4>, SystemParamItem<'_, '_, F5>, SystemParamItem<'_, '_, F6>, SystemParamItem<'_, '_, F7>, SystemParamItem<'_, '_, F8>, SystemParamItem<'_, '_, F9>, SystemParamItem<'_, '_, F10>, SystemParamItem<'_, '_, F11>, SystemParamItem<'_, '_, F12>, SystemParamItem<'_, '_, F13>, SystemParamItem<'_, '_, F14>, SystemParamItem<'_, '_, F15>) -> Out, Out: 'static,