Trait bevy::ecs::system::ExclusiveSystemParamFunction

pub trait ExclusiveSystemParamFunction<Marker>: Send + Sync + 'static {
    type In;
    type Out;
    type Param: ExclusiveSystemParam;

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

A trait implemented for all exclusive system 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.

Required Associated Types§

type In

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

type Out

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

type Param: ExclusiveSystemParam

The ExclusiveSystemParam’s defined by this system’s fn parameters.

Required Methods§

fn run( &mut self, world: &mut World, input: Self::In, param_value: <Self::Param as ExclusiveSystemParam>::Item<'_>, ) -> Self::Out

Executes this system once. See System::run.

Implementors§

§

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

§

type In = Input

§

type Out = Out

§

type Param = ()

§

impl<Input, Out, Func, F0> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(In<Input>, &mut World, F0) -> Out + for<'a> FnMut(In<Input>, &mut World, <F0 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0,)

§

impl<Input, Out, Func, F0, F1> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(In<Input>, &mut World, F0, F1) -> Out + for<'a> FnMut(In<Input>, &mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1)

§

impl<Input, Out, Func, F0, F1, F2> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(In<Input>, &mut World, F0, F1, F2) -> Out + for<'a> FnMut(In<Input>, &mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2)

§

impl<Input, Out, Func, F0, F1, F2, F3> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(In<Input>, &mut World, F0, F1, F2, F3) -> Out + for<'a> FnMut(In<Input>, &mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = Input

§

type Out = Out

§

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

§

impl<Input, Out, Func, F0, F1, F2, F3, F4> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4) -> Out + for<'a> FnMut(In<Input>, &mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>, <F4 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = Input

§

type Out = Out

§

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

§

impl<Input, Out, Func, F0, F1, F2, F3, F4, F5> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5) -> Out + for<'a> FnMut(In<Input>, &mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>, <F4 as ExclusiveSystemParam>::Item<'_>, <F5 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = Input

§

type Out = Out

§

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

§

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

§

type In = Input

§

type Out = Out

§

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

§

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

§

type In = Input

§

type Out = Out

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

type In = ()

§

type Out = Out

§

type Param = ()

§

impl<Out, Func, F0> ExclusiveSystemParamFunction<fn(_: F0) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0,)

§

impl<Out, Func, F0, F1> ExclusiveSystemParamFunction<fn(_: F0, _: F1) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0, F1) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1)

§

impl<Out, Func, F0, F1, F2> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0, F1, F2) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1, F2)

§

impl<Out, Func, F0, F1, F2, F3> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0, F1, F2, F3) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = ()

§

type Out = Out

§

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

§

impl<Out, Func, F0, F1, F2, F3, F4> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0, F1, F2, F3, F4) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>, <F4 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

type In = ()

§

type Out = Out

§

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

§

impl<Out, Func, F0, F1, F2, F3, F4, F5> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0, F1, F2, F3, F4, F5) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>, <F4 as ExclusiveSystemParam>::Item<'_>, <F5 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

impl<Out, Func, F0, F1, F2, F3, F4, F5, F6> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam, F6: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>, <F4 as ExclusiveSystemParam>::Item<'_>, <F5 as ExclusiveSystemParam>::Item<'_>, <F6 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

impl<Out, Func, F0, F1, F2, F3, F4, F5, F6, F7> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7) -> Out> for Func
where Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam, F6: ExclusiveSystemParam, F7: ExclusiveSystemParam, &'a mut Func: for<'a> FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6, F7) -> Out + for<'a> FnMut(&mut World, <F0 as ExclusiveSystemParam>::Item<'_>, <F1 as ExclusiveSystemParam>::Item<'_>, <F2 as ExclusiveSystemParam>::Item<'_>, <F3 as ExclusiveSystemParam>::Item<'_>, <F4 as ExclusiveSystemParam>::Item<'_>, <F5 as ExclusiveSystemParam>::Item<'_>, <F6 as ExclusiveSystemParam>::Item<'_>, <F7 as ExclusiveSystemParam>::Item<'_>), Out: 'static,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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