[−][src]Trait safer_ffi::layout::CType
One of the two core traits of this crate (with ReprC
).
CType
is an unsafe
trait that binds a Rust type to a C typedef.
To optimise compile-times, the C typedef part is gated behind the headers
cargo feature, so when that feature is not enabled, the trait may "look"
like a marker trait, but it isn't.
That's why manually implementing this trait is strongly discouraged, although not forbidden:
- If you trully want a manual implementation of
CType
(e.g., for an "opaque type" pattern, i.e., a forward declaration), then, to implement the trait so that it works no matter the status of thesafer_ffi/headers
feature, one must define the methods as if feature was present, but with a#[::safer_ffi::cfg_headers]
gate slapped on each method.
Safety
The Rust type in an extern "C"
function must have the same layout and ABI
as the defined C type, and all the bit-patterns representing any instance
of such C type must be valid and safe bit-patterns for the Rust type.
For the most common types, there are only two reasons to correctly be a
CType
:
-
being a primitive type, such as an integer type or a (slim) pointer.
- This crates provides as many of these implementations as possible.
-
an recursively, a non-zero-sized
#[repr(C)]
struct ofCType
fields.- the
CType!
macro can be used to wrap a#[repr(C)]
struct definition to safely and automagically implement the trait when it is sound to do so.
- the
Note that types such as Rust's bool
are ruled out by this definition,
since it has the ABI of a u8 <-> uint8_t
, and yet there are many
bit-patterns for the uint8_t
type that do not make valid bool
s.
For such types, see the ReprC
trait.
Associated Types
type OPAQUE_KIND: __
Implementations on Foreign Types
impl<T: CType> CType for *const T
[src]
type OPAQUE_KIND = Concrete
impl<T: CType> CType for *mut T
[src]
type OPAQUE_KIND = Concrete
impl CType for f32
[src]
type OPAQUE_KIND = Concrete
impl CType for f64
[src]
type OPAQUE_KIND = Concrete
impl CType for u8
[src]
type OPAQUE_KIND = Concrete
impl CType for u16
[src]
type OPAQUE_KIND = Concrete
impl CType for u32
[src]
type OPAQUE_KIND = Concrete
impl CType for u64
[src]
type OPAQUE_KIND = Concrete
impl CType for usize
[src]
type OPAQUE_KIND = Concrete
impl CType for i8
[src]
type OPAQUE_KIND = Concrete
impl CType for i16
[src]
type OPAQUE_KIND = Concrete
impl CType for i32
[src]
type OPAQUE_KIND = Concrete
impl CType for i64
[src]
type OPAQUE_KIND = Concrete
impl CType for isize
[src]
type OPAQUE_KIND = Concrete
impl<Ret: CType> CType for Option<unsafe extern "C" fn() -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A3: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A3, _: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A4: CType, A3: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A4, _: A3, _: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A5: CType, A4: CType, A3: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A5, _: A4, _: A3, _: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A6: CType, A5: CType, A4: CType, A3: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A7: CType, A6: CType, A5: CType, A4: CType, A3: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A8: CType, A7: CType, A6: CType, A5: CType, A4: CType, A3: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Ret: CType, A9: CType, A8: CType, A7: CType, A6: CType, A5: CType, A4: CType, A3: CType, A2: CType, A1: CType> CType for Option<unsafe extern "C" fn(_: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret>
[src]
Simplified for lighter documentation, but the actual impls include up to 9 function parameters.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 1]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 2]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 3]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 4]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 5]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 6]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 7]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 8]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 9]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 10]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 11]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 12]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 13]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 14]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 15]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 16]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 17]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 18]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 19]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 20]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 21]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 22]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 23]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 24]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 25]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 26]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 27]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 28]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 29]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 30]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 31]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 32]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 40]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 48]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 50]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 60]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 64]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 70]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 75]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 80]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 90]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 96]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 100]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 125]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 128]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 192]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 200]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 250]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 256]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 300]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 400]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 500]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 512]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 600]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 700]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 750]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 800]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 900]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 1000]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
impl<Item: CType> CType for [Item; 1024]
[src]
Simplified for lighter documentation, but the actual impls
range from 1
up to 32
, plus a bunch of significant
lengths up to 1024
.
type OPAQUE_KIND = Concrete
Implementors
impl<'lt, Ret> CType for RefDynFnMut0<'lt, Ret> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
Ret: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
Ret: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A1> CType for RefDynFnMut1<'lt, Ret, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A1: ReprC,
Ret: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A1: ReprC,
Ret: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A2, A1> CType for RefDynFnMut2<'lt, Ret, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A3, A2, A1> CType for RefDynFnMut3<'lt, Ret, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A4, A3, A2, A1> CType for RefDynFnMut4<'lt, Ret, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A5, A4, A3, A2, A1> CType for RefDynFnMut5<'lt, Ret, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A6, A5, A4, A3, A2, A1> CType for RefDynFnMut6<'lt, Ret, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A7, A6, A5, A4, A3, A2, A1> CType for RefDynFnMut7<'lt, Ret, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A8, A7, A6, A5, A4, A3, A2, A1> CType for RefDynFnMut8<'lt, Ret, A8, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, Ret, A9, A8, A7, A6, A5, A4, A3, A2, A1> CType for RefDynFnMut9<'lt, Ret, A9, A8, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
PhantomData<&'lt ()>: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<'lt, T> CType for slice_mut<'lt, T> where
<NonNullMut<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
T: ReprC,
NonNullMut<T>: ReprC,
usize: ReprC,
PhantomData<&'lt ()>: ReprC,
T: ReprC,
T: 'lt,
[src]
<NonNullMut<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
T: ReprC,
NonNullMut<T>: ReprC,
usize: ReprC,
PhantomData<&'lt ()>: ReprC,
T: ReprC,
T: 'lt,
type OPAQUE_KIND = Concrete
impl<'lt, T> CType for slice_ref<'lt, T> where
<NonNullRef<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
T: ReprC,
NonNullRef<T>: ReprC,
usize: ReprC,
PhantomData<&'lt ()>: ReprC,
T: ReprC,
T: 'lt,
[src]
<NonNullRef<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
<PhantomData<&'lt ()> as ReprC>::CLayout: CType,
T: ReprC,
NonNullRef<T>: ReprC,
usize: ReprC,
PhantomData<&'lt ()>: ReprC,
T: ReprC,
T: 'lt,
type OPAQUE_KIND = Concrete
impl<Ret> CType for ArcDynFn0<Ret> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
Ret: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
Ret: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret> CType for BoxDynFnMut0<Ret> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
Ret: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
Ret: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A1> CType for ArcDynFn1<Ret, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A1: ReprC,
Ret: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A1: ReprC,
Ret: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A1> CType for BoxDynFnMut1<Ret, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A1: ReprC,
Ret: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A1: ReprC,
Ret: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A2, A1> CType for ArcDynFn2<Ret, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A2, A1> CType for BoxDynFnMut2<Ret, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A3, A2, A1> CType for ArcDynFn3<Ret, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A3, A2, A1> CType for BoxDynFnMut3<Ret, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A4, A3, A2, A1> CType for ArcDynFn4<Ret, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A4, A3, A2, A1> CType for BoxDynFnMut4<Ret, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A5, A4, A3, A2, A1> CType for ArcDynFn5<Ret, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A5, A4, A3, A2, A1> CType for BoxDynFnMut5<Ret, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A6, A5, A4, A3, A2, A1> CType for ArcDynFn6<Ret, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A6, A5, A4, A3, A2, A1> CType for BoxDynFnMut6<Ret, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A7, A6, A5, A4, A3, A2, A1> CType for ArcDynFn7<Ret, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A7, A6, A5, A4, A3, A2, A1> CType for BoxDynFnMut7<Ret, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A8, A7, A6, A5, A4, A3, A2, A1> CType for ArcDynFn8<Ret, A8, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A8, A7, A6, A5, A4, A3, A2, A1> CType for BoxDynFnMut8<Ret, A8, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A9, A8, A7, A6, A5, A4, A3, A2, A1> CType for ArcDynFn9<Ret, A9, A8, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
<Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)> as ReprC>::CLayout: CType,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Option<unsafe extern "C" fn(env_ptr: NonNull<c_void>)>: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<Ret, A9, A8, A7, A6, A5, A4, A3, A2, A1> CType for BoxDynFnMut9<Ret, A9, A8, A7, A6, A5, A4, A3, A2, A1> where
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
[src]
<NonNull<c_void> as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret as ReprC>::CLayout: CType,
<unsafe extern "C" fn(env_ptr: NonNull<c_void>) as ReprC>::CLayout: CType,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
NonNull<c_void>: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>, _: A9, _: A8, _: A7, _: A6, _: A5, _: A4, _: A3, _: A2, _: A1) -> Ret: ReprC,
unsafe extern "C" fn(env_ptr: NonNull<c_void>): ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
Ret: ReprC,
A9: ReprC,
A8: ReprC,
A7: ReprC,
A6: ReprC,
A5: ReprC,
A4: ReprC,
A3: ReprC,
A2: ReprC,
A1: ReprC,
type OPAQUE_KIND = Concrete
impl<T> CType for slice_boxed<T> where
<NonNullOwned<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
T: ReprC,
NonNullOwned<T>: ReprC,
usize: ReprC,
T: ReprC,
[src]
<NonNullOwned<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
T: ReprC,
NonNullOwned<T>: ReprC,
usize: ReprC,
T: ReprC,
type OPAQUE_KIND = Concrete
impl<T> CType for slice_raw<T> where
<NonNull<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
T: ReprC,
NonNull<T>: ReprC,
usize: ReprC,
T: ReprC,
[src]
<NonNull<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
T: ReprC,
NonNull<T>: ReprC,
usize: ReprC,
T: ReprC,
type OPAQUE_KIND = Concrete
impl<T> CType for Vec<T> where
<NonNullOwned<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
T: ReprC,
NonNullOwned<T>: ReprC,
usize: ReprC,
usize: ReprC,
T: ReprC,
[src]
<NonNullOwned<T> as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
<usize as ReprC>::CLayout: CType,
T: ReprC,
NonNullOwned<T>: ReprC,
usize: ReprC,
usize: ReprC,
T: ReprC,
type OPAQUE_KIND = Concrete
impl<T0> CType for Tuple1<T0> where
<T0 as ReprC>::CLayout: CType,
T0: ReprC,
T0: ReprC,
T0: ReprC,
[src]
<T0 as ReprC>::CLayout: CType,
T0: ReprC,
T0: ReprC,
T0: ReprC,
type OPAQUE_KIND = Concrete
impl<T0, T1> CType for Tuple2<T0, T1> where
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T0: ReprC,
T1: ReprC,
T0: ReprC,
T1: ReprC,
[src]
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T0: ReprC,
T1: ReprC,
T0: ReprC,
T1: ReprC,
type OPAQUE_KIND = Concrete
impl<T0, T1, T2> CType for Tuple3<T0, T1, T2> where
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
[src]
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
type OPAQUE_KIND = Concrete
impl<T0, T1, T2, T3> CType for Tuple4<T0, T1, T2, T3> where
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
<T3 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
[src]
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
<T3 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
type OPAQUE_KIND = Concrete
impl<T0, T1, T2, T3, T4> CType for Tuple5<T0, T1, T2, T3, T4> where
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
<T3 as ReprC>::CLayout: CType,
<T4 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
[src]
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
<T3 as ReprC>::CLayout: CType,
<T4 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
type OPAQUE_KIND = Concrete
impl<T0, T1, T2, T3, T4, T5> CType for Tuple6<T0, T1, T2, T3, T4, T5> where
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
<T3 as ReprC>::CLayout: CType,
<T4 as ReprC>::CLayout: CType,
<T5 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T5: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T5: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T5: ReprC,
[src]
<T0 as ReprC>::CLayout: CType,
<T1 as ReprC>::CLayout: CType,
<T2 as ReprC>::CLayout: CType,
<T3 as ReprC>::CLayout: CType,
<T4 as ReprC>::CLayout: CType,
<T5 as ReprC>::CLayout: CType,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T5: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T5: ReprC,
T0: ReprC,
T1: ReprC,
T2: ReprC,
T3: ReprC,
T4: ReprC,
T5: ReprC,