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: ExclusiveSystemParamItem<'_, Self::Param>
    ) -> 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§

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: ExclusiveSystemParam

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

Required Methods§

source

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

Executes this system once. See System::run.

Implementors§

source§

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

§

type In = Input

§

type Out = Out

§

type Param = ()

source§

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

§

type In = Input

§

type Out = Out

§

type Param = (F0,)

source§

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

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1)

source§

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

§

type In = Input

§

type Out = Out

§

type Param = (F0, F1, F2)

source§

impl<Input, Out, Func: Send + Sync + 'static, F0: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, 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: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, 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: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, 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: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam, F6: ExclusiveSystemParam> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, 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: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam, F6: ExclusiveSystemParam, F7: ExclusiveSystemParam> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, 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: ExclusiveSystemParam, F1: ExclusiveSystemParam, F2: ExclusiveSystemParam, F3: ExclusiveSystemParam, F4: ExclusiveSystemParam, F5: ExclusiveSystemParam, F6: ExclusiveSystemParam, F7: ExclusiveSystemParam, F8: ExclusiveSystemParam> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>) -> Out, Out: 'static,

source§

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

source§

impl<Input, Out, 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> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>) -> Out, Out: 'static,

source§

impl<Input, Out, 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> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>) -> Out, Out: 'static,

source§

impl<Input, Out, 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> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>) -> Out, Out: 'static,

source§

impl<Input, Out, 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> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>, ExclusiveSystemParamItem<'_, F13>) -> Out, Out: 'static,

source§

impl<Input, Out, 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> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>, ExclusiveSystemParamItem<'_, F13>, ExclusiveSystemParamItem<'_, F14>) -> Out, Out: 'static,

source§

impl<Input, Out, 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> ExclusiveSystemParamFunction<fn(_: In<Input>, _: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14, _: F15) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(In<Input>, &mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15) -> Out + FnMut(In<Input>, &mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>, ExclusiveSystemParamItem<'_, F13>, ExclusiveSystemParamItem<'_, F14>, ExclusiveSystemParamItem<'_, F15>) -> Out, Out: 'static,

source§

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

§

type In = ()

§

type Out = Out

§

type Param = ()

source§

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

§

type In = ()

§

type Out = Out

§

type Param = (F0,)

source§

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

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1)

source§

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

§

type In = ()

§

type Out = Out

§

type Param = (F0, F1, F2)

source§

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

§

type In = ()

§

type Out = Out

§

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

source§

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

§

type In = ()

§

type Out = Out

§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<Out, 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> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10) -> Out + FnMut(&mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>) -> Out, Out: 'static,

source§

impl<Out, 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> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11) -> Out + FnMut(&mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>) -> Out, Out: 'static,

source§

impl<Out, 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> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12) -> Out + FnMut(&mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>) -> Out, Out: 'static,

source§

impl<Out, 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> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13) -> Out + FnMut(&mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>, ExclusiveSystemParamItem<'_, F13>) -> Out, Out: 'static,

source§

impl<Out, 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> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14) -> Out + FnMut(&mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>, ExclusiveSystemParamItem<'_, F13>, ExclusiveSystemParamItem<'_, F14>) -> Out, Out: 'static,

source§

impl<Out, 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> ExclusiveSystemParamFunction<fn(_: F0, _: F1, _: F2, _: F3, _: F4, _: F5, _: F6, _: F7, _: F8, _: F9, _: F10, _: F11, _: F12, _: F13, _: F14, _: F15) -> Out> for Funcwhere for<'a> &'a mut Func: FnMut(&mut World, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15) -> Out + FnMut(&mut World, ExclusiveSystemParamItem<'_, F0>, ExclusiveSystemParamItem<'_, F1>, ExclusiveSystemParamItem<'_, F2>, ExclusiveSystemParamItem<'_, F3>, ExclusiveSystemParamItem<'_, F4>, ExclusiveSystemParamItem<'_, F5>, ExclusiveSystemParamItem<'_, F6>, ExclusiveSystemParamItem<'_, F7>, ExclusiveSystemParamItem<'_, F8>, ExclusiveSystemParamItem<'_, F9>, ExclusiveSystemParamItem<'_, F10>, ExclusiveSystemParamItem<'_, F11>, ExclusiveSystemParamItem<'_, F12>, ExclusiveSystemParamItem<'_, F13>, ExclusiveSystemParamItem<'_, F14>, ExclusiveSystemParamItem<'_, F15>) -> Out, Out: 'static,