Trait v9::kernel::KernelFn [−][src]
Implemented for certain closures.
If your closure isn’t a Kernel
, ensure that:
- All arguments are
Extract
. (You can test this by writingfn assert<T: Extract>() {} assert::<T>();
) - You don’t have an unreasonable number of arguments. (If necessary, you can group them up via
decl_context!
.) - The return value is appropriate.
Kernel
itself has no restrictions on the return type, however:kmap
requires the return value be()
.kmap_return
andrun_return
requiresAny
, which means it must be'static
.
Required methods
Loading content...Implementors
impl<A00, Ret, X> KernelFn<(A00,), Ret> for X where
X: FnMut(A00) -> Ret,
A00: Extract,
[src]
X: FnMut(A00) -> Ret,
A00: Extract,
impl<A01, A00, Ret, X> KernelFn<(A01, A00), Ret> for X where
X: FnMut(A01, A00) -> Ret,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A01, A00) -> Ret,
A01: Extract,
A00: Extract,
impl<A02, A01, A00, Ret, X> KernelFn<(A02, A01, A00), Ret> for X where
X: FnMut(A02, A01, A00) -> Ret,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A02, A01, A00) -> Ret,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A03, A02, A01, A00, Ret, X> KernelFn<(A03, A02, A01, A00), Ret> for X where
X: FnMut(A03, A02, A01, A00) -> Ret,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A03, A02, A01, A00) -> Ret,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A04, A03, A02, A01, A00, Ret, X> KernelFn<(A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A04, A03, A02, A01, A00) -> Ret,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A04, A03, A02, A01, A00) -> Ret,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A05, A04, A03, A02, A01, A00) -> Ret,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A05, A04, A03, A02, A01, A00) -> Ret,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A06, A05, A04, A03, A02, A01, A00) -> Ret,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A06, A05, A04, A03, A02, A01, A00) -> Ret,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A08, A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A08, A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A09, A08, A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A09, A08, A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A12: Extract,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A12: Extract,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A13: Extract,
A12: Extract,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A13: Extract,
A12: Extract,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<A14, A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00, Ret, X> KernelFn<(A14, A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00), Ret> for X where
X: FnMut(A14, A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A14: Extract,
A13: Extract,
A12: Extract,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
[src]
X: FnMut(A14, A13, A12, A11, A10, A09, A08, A07, A06, A05, A04, A03, A02, A01, A00) -> Ret,
A14: Extract,
A13: Extract,
A12: Extract,
A11: Extract,
A10: Extract,
A09: Extract,
A08: Extract,
A07: Extract,
A06: Extract,
A05: Extract,
A04: Extract,
A03: Extract,
A02: Extract,
A01: Extract,
A00: Extract,
impl<X, Ret> KernelFn<(), Ret> for X where
X: FnMut() -> Ret,
[src]
X: FnMut() -> Ret,