Trait ManagedFunctionPtr

Source
pub unsafe trait ManagedFunctionPtr: FunctionPtr {
    type Args;
    type Output;

    const ARITY: usize;
}
Available on crate feature netcore3_0 only.
Expand description

Trait representing a managed function pointer.

§Safety

This trait should only be implemented for extern "system" function pointers and the associated types and constants have to match the function pointer type.

Required Associated Constants§

Source

const ARITY: usize

The function’s arity (number of arguments).

Required Associated Types§

Source

type Args

The argument types as a tuple.

Source

type Output

The return type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<Ret: 'static> ManagedFunctionPtr for extern "system" fn() -> Ret

Source§

const ARITY: usize = 0usize

Source§

type Args = ()

Source§

type Output = Ret

Source§

impl<Ret: 'static> ManagedFunctionPtr for unsafe extern "system" fn() -> Ret

Source§

const ARITY: usize = 0usize

Source§

type Args = ()

Source§

type Output = Ret

Source§

impl<Ret: 'static, A: 'static> ManagedFunctionPtr for extern "system" fn(A) -> Ret

Source§

const ARITY: usize = 1usize

Source§

type Args = (A,)

Source§

type Output = Ret

Source§

impl<Ret: 'static, A: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A) -> Ret

Source§

const ARITY: usize = 1usize

Source§

type Args = (A,)

Source§

type Output = Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static> ManagedFunctionPtr for extern "system" fn(A, B) -> Ret

Source§

const ARITY: usize = 2usize

Source§

type Args = (A, B)

Source§

type Output = Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B) -> Ret

Source§

const ARITY: usize = 2usize

Source§

type Args = (A, B)

Source§

type Output = Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C) -> Ret

Source§

const ARITY: usize = 3usize

Source§

type Args = (A, B, C)

Source§

type Output = Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C) -> Ret

Source§

const ARITY: usize = 3usize

Source§

type Args = (A, B, C)

Source§

type Output = Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E, F) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E, F) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E, F, G) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E, F, G) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E, F, G, H) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E, F, G, H) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E, F, G, H, I) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E, F, G, H, I) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static, J: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E, F, G, H, I, J) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static, J: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E, F, G, H, I, J) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static, J: 'static, K: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static, J: 'static, K: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static, J: 'static, K: 'static, L: 'static> ManagedFunctionPtr for extern "system" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret

Source§

impl<Ret: 'static, A: 'static, B: 'static, C: 'static, D: 'static, E: 'static, F: 'static, G: 'static, H: 'static, I: 'static, J: 'static, K: 'static, L: 'static> ManagedFunctionPtr for unsafe extern "system" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret

Implementors§