pub trait IntoPyNativeFunc<T, R, VM> { fninto_func(self) ->PyNativeFunc;}
Implemented by types that are or can generate built-in functions.
For example, any function that:
FromArgs
, followed by a&VirtualMachine
IntoPyObject
will generate aPyNativeFunc
that performs the appropriate type and aritychecking, any requested conversions, and then if successful call the functionwith the bound values.
A barePyNativeFunc
also implements this trait, allowing the above to bedone manually, for rare situations that don't fit into this model.
fninto_func(self) ->PyNativeFunc
impl<F> IntoPyNativeFunc<PyFuncArgs,Result<Rc<PyObject<dynPyObjectPayload + 'static>>,PyRef<PyBaseException>>,VirtualMachine> for Fwhere
F:Fn(&VirtualMachine,PyFuncArgs) ->PyResult + 'static,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, C, D, E, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>,OwnedParam<E>), R,()> for Fwhere
F:Fn(A, B, C, D, E) -> R + 'static,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
E:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, C, D, E, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>,OwnedParam<E>), R,VirtualMachine> for Fwhere
F:Fn(A, B, C, D, E, &VirtualMachine) -> R + 'static,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
E:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, C, D, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>), R,()> for Fwhere
F:Fn(A, B, C, D) -> R + 'static,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, C, D, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>), R,VirtualMachine> for Fwhere
F:Fn(A, B, C, D, &VirtualMachine) -> R + 'static,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, C, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>,OwnedParam<C>), R,()> for Fwhere
F:Fn(A, B, C) -> R + 'static,
A:FromArgs,
B:FromArgs,
C:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, C, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>,OwnedParam<C>), R,VirtualMachine> for Fwhere
F:Fn(A, B, C, &VirtualMachine) -> R + 'static,
A:FromArgs,
B:FromArgs,
C:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>), R,()> for Fwhere
F:Fn(A, B) -> R + 'static,
A:FromArgs,
B:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, B, R> IntoPyNativeFunc<(OwnedParam<A>,OwnedParam<B>), R,VirtualMachine> for Fwhere
F:Fn(A, B, &VirtualMachine) -> R + 'static,
A:FromArgs,
B:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, R> IntoPyNativeFunc<(OwnedParam<A>,), R,()> for Fwhere
F:Fn(A) -> R + 'static,
A:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, A, R> IntoPyNativeFunc<(OwnedParam<A>,), R,VirtualMachine> for Fwhere
F:Fn(A, &VirtualMachine) -> R + 'static,
A:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, R> IntoPyNativeFunc<(), R,()> for Fwhere
F:Fn() -> R + 'static,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, R> IntoPyNativeFunc<(), R,VirtualMachine> for Fwhere
F:Fn(&VirtualMachine) -> R + 'static,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, C, D, E, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>,OwnedParam<E>), R,()> for Fwhere
F:Fn(&S, A, B, C, D, E) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
E:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, C, D, E, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>,OwnedParam<E>), R,VirtualMachine> for Fwhere
F:Fn(&S, A, B, C, D, E, &VirtualMachine) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
E:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, C, D, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>), R,()> for Fwhere
F:Fn(&S, A, B, C, D) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, C, D, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>,OwnedParam<C>,OwnedParam<D>), R,VirtualMachine> for Fwhere
F:Fn(&S, A, B, C, D, &VirtualMachine) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
C:FromArgs,
D:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, C, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>,OwnedParam<C>), R,()> for Fwhere
F:Fn(&S, A, B, C) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
C:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, C, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>,OwnedParam<C>), R,VirtualMachine> for Fwhere
F:Fn(&S, A, B, C, &VirtualMachine) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
C:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>), R,()> for Fwhere
F:Fn(&S, A, B) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, B, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>,OwnedParam<B>), R,VirtualMachine> for Fwhere
F:Fn(&S, A, B, &VirtualMachine) -> R + 'static,
S:PyValue,
A:FromArgs,
B:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>), R,()> for Fwhere
F:Fn(&S, A) -> R + 'static,
S:PyValue,
A:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, A, R> IntoPyNativeFunc<(RefParam<S>,OwnedParam<A>), R,VirtualMachine> for Fwhere
F:Fn(&S, A, &VirtualMachine) -> R + 'static,
S:PyValue,
A:FromArgs,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, R> IntoPyNativeFunc<(RefParam<S>,), R,()> for Fwhere
F:Fn(&S) -> R + 'static,
S:PyValue,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]impl<F, S, R> IntoPyNativeFunc<(RefParam<S>,), R,VirtualMachine> for Fwhere
F:Fn(&S, &VirtualMachine) -> R + 'static,
S:PyValue,
R:IntoPyObject,
[src]fninto_func(self) ->PyNativeFunc
[src]