pub unsafe trait TypeLayout: Sized {
type Inhabited: OutputMaybeInhabited;
const TYPE_LAYOUT: TypeLayoutInfo<'static>;
}
Expand description
Utility trait that provides the shallow layout of a type.
§Safety
It is only safe to implement this trait if it accurately describes the
type’s layout. Use
#[derive(TypeLayout)]
instead.
§Example
The struct Foo
with u8
and u16
fields implements TypeLayout
as
follows:
struct Foo {
a: u8,
b: u16,
}
unsafe impl TypeLayout for Foo {
type Inhabited = inhabited::all![u8, u16];
const TYPE_LAYOUT: TypeLayoutInfo<'static> = TypeLayoutInfo {
name: ::core::any::type_name::<Self>(),
size: ::core::mem::size_of::<Self>(),
alignment: ::core::mem::align_of::<Self>(),
structure: TypeStructure::Struct {
repr: "",
fields: &[
Field {
name: "a",
offset: MaybeUninhabited::new::<u8>(::core::mem::offset_of!(Self, a)),
ty: ::core::any::type_name::<u8>(),
},
Field {
name: "b",
offset: MaybeUninhabited::new::<u16>(::core::mem::offset_of!(Self, b)),
ty: ::core::any::type_name::<u16>(),
},
],
},
};
}
Note that if you implement TypeLayout
, you should also implement
typeset::ComputeTypeSet
for it.
Required Associated Constants§
Sourceconst TYPE_LAYOUT: TypeLayoutInfo<'static>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
Shallow layout of the type.
Required Associated Types§
Sourcetype Inhabited: OutputMaybeInhabited
type Inhabited: OutputMaybeInhabited
Marker type for whether the type is
inhabited or
uninhabited.
The associated type must be either inhabited::Inhabited
or inhabited::Uninhabited
.
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 TypeLayout for Ordering
impl TypeLayout for Ordering
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for Infallible
impl TypeLayout for Infallible
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Uninhabited
Source§impl TypeLayout for c_void
impl TypeLayout for c_void
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for bool
impl TypeLayout for bool
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for char
impl TypeLayout for char
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for f32
impl TypeLayout for f32
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for f64
impl TypeLayout for f64
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for i8
impl TypeLayout for i8
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for i16
impl TypeLayout for i16
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for i32
impl TypeLayout for i32
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for i64
impl TypeLayout for i64
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for i128
impl TypeLayout for i128
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for isize
impl TypeLayout for isize
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for !
impl TypeLayout for !
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Uninhabited
Source§impl TypeLayout for u8
impl TypeLayout for u8
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for u16
impl TypeLayout for u16
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for u32
impl TypeLayout for u32
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for u64
impl TypeLayout for u64
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for u128
impl TypeLayout for u128
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for ()
impl TypeLayout for ()
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for usize
impl TypeLayout for usize
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for PhantomPinned
impl TypeLayout for PhantomPinned
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for RangeFull
impl TypeLayout for RangeFull
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicBool
Available on target_has_atomic_load_store="8"
only.
impl TypeLayout for AtomicBool
Available on
target_has_atomic_load_store="8"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicI8
Available on target_has_atomic_load_store="8"
only.
impl TypeLayout for AtomicI8
Available on
target_has_atomic_load_store="8"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicI16
Available on target_has_atomic_load_store="16"
only.
impl TypeLayout for AtomicI16
Available on
target_has_atomic_load_store="16"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicI32
Available on target_has_atomic_load_store="32"
only.
impl TypeLayout for AtomicI32
Available on
target_has_atomic_load_store="32"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicI64
Available on target_has_atomic_load_store="64"
only.
impl TypeLayout for AtomicI64
Available on
target_has_atomic_load_store="64"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicIsize
Available on target_has_atomic_load_store="ptr"
and 64-bit only.
impl TypeLayout for AtomicIsize
Available on
target_has_atomic_load_store="ptr"
and 64-bit only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicU8
Available on target_has_atomic_load_store="8"
only.
impl TypeLayout for AtomicU8
Available on
target_has_atomic_load_store="8"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicU16
Available on target_has_atomic_load_store="16"
only.
impl TypeLayout for AtomicU16
Available on
target_has_atomic_load_store="16"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicU32
Available on target_has_atomic_load_store="32"
only.
impl TypeLayout for AtomicU32
Available on
target_has_atomic_load_store="32"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicU64
Available on target_has_atomic_load_store="64"
only.
impl TypeLayout for AtomicU64
Available on
target_has_atomic_load_store="64"
only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for AtomicUsize
Available on target_has_atomic_load_store="ptr"
and 64-bit only.
impl TypeLayout for AtomicUsize
Available on
target_has_atomic_load_store="ptr"
and 64-bit only.const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroI8
impl TypeLayout for NonZeroI8
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroI16
impl TypeLayout for NonZeroI16
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroI32
impl TypeLayout for NonZeroI32
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroI64
impl TypeLayout for NonZeroI64
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroI128
impl TypeLayout for NonZeroI128
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroIsize
impl TypeLayout for NonZeroIsize
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroU8
impl TypeLayout for NonZeroU8
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroU16
impl TypeLayout for NonZeroU16
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroU32
impl TypeLayout for NonZeroU32
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroU64
impl TypeLayout for NonZeroU64
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroU128
impl TypeLayout for NonZeroU128
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl TypeLayout for NonZeroUsize
impl TypeLayout for NonZeroUsize
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<'a, T: TypeLayout + 'a> TypeLayout for &'a T
impl<'a, T: TypeLayout + 'a> TypeLayout for &'a T
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<'a, T: TypeLayout + 'a> TypeLayout for &'a mut T
impl<'a, T: TypeLayout + 'a> TypeLayout for &'a mut T
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<A: TypeLayout> TypeLayout for (A,)
impl<A: TypeLayout> TypeLayout for (A,)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout> TypeLayout for (A, B)
impl<A: TypeLayout, B: TypeLayout> TypeLayout for (A, B)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for (A, B, C)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for (A, B, C)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for (A, B, C, D)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for (A, B, C, D)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for (A, B, C, D, E)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for (A, B, C, D, E)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for (A, B, C, D, E, F)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for (A, B, C, D, E, F)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, <And<<F as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for (A, B, C, D, E, F, G)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for (A, B, C, D, E, F, G)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, <And<<F as TypeLayout>::Inhabited, <And<<G as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, <And<<F as TypeLayout>::Inhabited, <And<<G as TypeLayout>::Inhabited, <And<<H as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, <And<<F as TypeLayout>::Inhabited, <And<<G as TypeLayout>::Inhabited, <And<<H as TypeLayout>::Inhabited, <And<<I as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I, J)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I, J)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, <And<<F as TypeLayout>::Inhabited, <And<<G as TypeLayout>::Inhabited, <And<<H as TypeLayout>::Inhabited, <And<<I as TypeLayout>::Inhabited, <And<<J as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I, J, K)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, <And<<F as TypeLayout>::Inhabited, <And<<G as TypeLayout>::Inhabited, <And<<H as TypeLayout>::Inhabited, <And<<I as TypeLayout>::Inhabited, <And<<J as TypeLayout>::Inhabited, <And<<K as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for (A, B, C, D, E, F, G, H, I, J, K, L)
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, <And<<C as TypeLayout>::Inhabited, <And<<D as TypeLayout>::Inhabited, <And<<E as TypeLayout>::Inhabited, <And<<F as TypeLayout>::Inhabited, <And<<G as TypeLayout>::Inhabited, <And<<H as TypeLayout>::Inhabited, <And<<I as TypeLayout>::Inhabited, <And<<J as TypeLayout>::Inhabited, <And<<K as TypeLayout>::Inhabited, <And<<L as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<B: TypeLayout, C: TypeLayout> TypeLayout for ControlFlow<B, C>
impl<B: TypeLayout, C: TypeLayout> TypeLayout for ControlFlow<B, C>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <Or<<B as TypeLayout>::Inhabited, <Or<<C as TypeLayout>::Inhabited, Uninhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output
Source§impl<Idx: TypeLayout> TypeLayout for Range<Idx>
impl<Idx: TypeLayout> TypeLayout for Range<Idx>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <Idx as TypeLayout>::Inhabited
Source§impl<Idx: TypeLayout> TypeLayout for RangeFrom<Idx>
impl<Idx: TypeLayout> TypeLayout for RangeFrom<Idx>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <Idx as TypeLayout>::Inhabited
Source§impl<Idx: TypeLayout> TypeLayout for RangeTo<Idx>
impl<Idx: TypeLayout> TypeLayout for RangeTo<Idx>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <Idx as TypeLayout>::Inhabited
Source§impl<Idx: TypeLayout> TypeLayout for RangeToInclusive<Idx>
impl<Idx: TypeLayout> TypeLayout for RangeToInclusive<Idx>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <Idx as TypeLayout>::Inhabited
Source§impl<R: TypeLayout> TypeLayout for fn() -> R
impl<R: TypeLayout> TypeLayout for fn() -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout> TypeLayout for extern "C" fn() -> R
impl<R: TypeLayout> TypeLayout for extern "C" fn() -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout> TypeLayout for unsafe fn() -> R
impl<R: TypeLayout> TypeLayout for unsafe fn() -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout> TypeLayout for unsafe extern "C" fn() -> R
impl<R: TypeLayout> TypeLayout for unsafe extern "C" fn() -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout> TypeLayout for fn(A) -> R
impl<R: TypeLayout, A: TypeLayout> TypeLayout for fn(A) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout> TypeLayout for extern "C" fn(A) -> R
impl<R: TypeLayout, A: TypeLayout> TypeLayout for extern "C" fn(A) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe fn(A) -> R
impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe fn(A) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe extern "C" fn(A) -> R
impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe extern "C" fn(A) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe extern "C" fn(A, ...) -> R
impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe extern "C" fn(A, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for fn(A, B) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for fn(A, B) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for extern "C" fn(A, B) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for extern "C" fn(A, B) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for unsafe fn(A, B) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for unsafe fn(A, B) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for fn(A, B, C) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for fn(A, B, C) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for extern "C" fn(A, B, C) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for extern "C" fn(A, B, C) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for unsafe fn(A, B, C) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for unsafe fn(A, B, C) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for fn(A, B, C, D) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for fn(A, B, C, D) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for unsafe fn(A, B, C, D) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for unsafe fn(A, B, C, D) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for fn(A, B, C, D, E) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for fn(A, B, C, D, E) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for fn(A, B, C, D, E, F) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for fn(A, B, C, D, E, F) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I, J) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I, J) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I, J, K) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I, J, K) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> R
impl<R: TypeLayout, A: TypeLayout, B: TypeLayout, C: TypeLayout, D: TypeLayout, E: TypeLayout, F: TypeLayout, G: TypeLayout, H: TypeLayout, I: TypeLayout, J: TypeLayout, K: TypeLayout, L: TypeLayout> TypeLayout for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> R
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T> TypeLayout for PhantomData<T>
impl<T> TypeLayout for PhantomData<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T> TypeLayout for Discriminant<T>
impl<T> TypeLayout for Discriminant<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T: TypeLayout + Deref> TypeLayout for Pin<T>
impl<T: TypeLayout + Deref> TypeLayout for Pin<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for Bound<T>
impl<T: TypeLayout> TypeLayout for Bound<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T: TypeLayout> TypeLayout for Option<T>
impl<T: TypeLayout> TypeLayout for Option<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T: TypeLayout> TypeLayout for *const T
impl<T: TypeLayout> TypeLayout for *const T
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T: TypeLayout> TypeLayout for *mut T
impl<T: TypeLayout> TypeLayout for *mut T
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T: TypeLayout> TypeLayout for OnceCell<T>
impl<T: TypeLayout> TypeLayout for OnceCell<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for Cell<T>
impl<T: TypeLayout> TypeLayout for Cell<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for SyncUnsafeCell<T>
impl<T: TypeLayout> TypeLayout for SyncUnsafeCell<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for UnsafeCell<T>
impl<T: TypeLayout> TypeLayout for UnsafeCell<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for Reverse<T>
impl<T: TypeLayout> TypeLayout for Reverse<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for ManuallyDrop<T>
impl<T: TypeLayout> TypeLayout for ManuallyDrop<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for Saturating<T>
impl<T: TypeLayout> TypeLayout for Saturating<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for Wrapping<T>
impl<T: TypeLayout> TypeLayout for Wrapping<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = <T as TypeLayout>::Inhabited
Source§impl<T: TypeLayout> TypeLayout for NonNull<T>
impl<T: TypeLayout> TypeLayout for NonNull<T>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
type Inhabited = Inhabited
Source§impl<T: TypeLayout> TypeLayout for AtomicPtr<T>
Available on target_has_atomic_load_store="ptr"
and 64-bit only.
impl<T: TypeLayout> TypeLayout for AtomicPtr<T>
Available on
target_has_atomic_load_store="ptr"
and 64-bit only.