Trait const_type_layout::TypeLayout
source · pub unsafe trait TypeLayout: Sized {
type Inhabited: OutputMaybeInhabited;
const TYPE_LAYOUT: TypeLayoutInfo<'static>;
}
Available on crate feature
derive
only.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 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
.
Required Associated Constants§
sourceconst TYPE_LAYOUT: TypeLayoutInfo<'static>
const TYPE_LAYOUT: TypeLayoutInfo<'static>
Shallow layout of the type.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl TypeLayout for Ordering
impl TypeLayout for Ordering
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for Infallible
impl TypeLayout for Infallible
type Inhabited = Uninhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for c_void
impl TypeLayout for c_void
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for bool
impl TypeLayout for bool
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for char
impl TypeLayout for char
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for f32
impl TypeLayout for f32
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for f64
impl TypeLayout for f64
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for i8
impl TypeLayout for i8
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for i16
impl TypeLayout for i16
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for i32
impl TypeLayout for i32
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for i64
impl TypeLayout for i64
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for i128
impl TypeLayout for i128
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for isize
impl TypeLayout for isize
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for !
impl TypeLayout for !
type Inhabited = Uninhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for u8
impl TypeLayout for u8
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for u16
impl TypeLayout for u16
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for u32
impl TypeLayout for u32
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for u64
impl TypeLayout for u64
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for u128
impl TypeLayout for u128
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for ()
impl TypeLayout for ()
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for usize
impl TypeLayout for usize
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for PhantomPinned
impl TypeLayout for PhantomPinned
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroI8
impl TypeLayout for NonZeroI8
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroI16
impl TypeLayout for NonZeroI16
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroI32
impl TypeLayout for NonZeroI32
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroI64
impl TypeLayout for NonZeroI64
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroI128
impl TypeLayout for NonZeroI128
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroIsize
impl TypeLayout for NonZeroIsize
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroU8
impl TypeLayout for NonZeroU8
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroU16
impl TypeLayout for NonZeroU16
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroU32
impl TypeLayout for NonZeroU32
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroU64
impl TypeLayout for NonZeroU64
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroU128
impl TypeLayout for NonZeroU128
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for NonZeroUsize
impl TypeLayout for NonZeroUsize
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl TypeLayout for RangeFull
impl TypeLayout for RangeFull
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<'a, T: TypeLayout + 'a> TypeLayout for &'a T
impl<'a, T: TypeLayout + 'a> TypeLayout for &'a T
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<'a, T: TypeLayout + 'a> TypeLayout for &'a mut T
impl<'a, T: TypeLayout + 'a> TypeLayout for &'a mut T
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<A: TypeLayout> TypeLayout for (A,)
impl<A: TypeLayout> TypeLayout for (A,)
type Inhabited = <And<<A as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<A: TypeLayout, B: TypeLayout> TypeLayout for (A, B)
impl<A: TypeLayout, B: TypeLayout> TypeLayout for (A, B)
type Inhabited = <And<<A as TypeLayout>::Inhabited, <And<<B as TypeLayout>::Inhabited, Inhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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)
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
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<B: TypeLayout, C: TypeLayout> TypeLayout for ControlFlow<B, C>
impl<B: TypeLayout, C: TypeLayout> TypeLayout for ControlFlow<B, C>
type Inhabited = <Or<<B as TypeLayout>::Inhabited, <Or<<C as TypeLayout>::Inhabited, Uninhabited> as ComputeInhabited>::Output> as ComputeInhabited>::Output
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<Idx: TypeLayout> TypeLayout for Range<Idx>
impl<Idx: TypeLayout> TypeLayout for Range<Idx>
type Inhabited = <Idx as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<Idx: TypeLayout> TypeLayout for RangeFrom<Idx>
impl<Idx: TypeLayout> TypeLayout for RangeFrom<Idx>
type Inhabited = <Idx as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<Idx: TypeLayout> TypeLayout for RangeTo<Idx>
impl<Idx: TypeLayout> TypeLayout for RangeTo<Idx>
type Inhabited = <Idx as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<Idx: TypeLayout> TypeLayout for RangeToInclusive<Idx>
impl<Idx: TypeLayout> TypeLayout for RangeToInclusive<Idx>
type Inhabited = <Idx as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<R: TypeLayout> TypeLayout for fn() -> R
impl<R: TypeLayout> TypeLayout for fn() -> R
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<R: TypeLayout> TypeLayout for extern "C" fn() -> R
impl<R: TypeLayout> TypeLayout for extern "C" fn() -> R
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<R: TypeLayout> TypeLayout for unsafe fn() -> R
impl<R: TypeLayout> TypeLayout for unsafe fn() -> R
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<R: TypeLayout> TypeLayout for unsafe extern "C" fn() -> R
impl<R: TypeLayout> TypeLayout for unsafe extern "C" fn() -> R
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<R: TypeLayout, A: TypeLayout> TypeLayout for fn(_: A) -> R
impl<R: TypeLayout, A: TypeLayout> TypeLayout for fn(_: A) -> R
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe fn(_: A) -> R
impl<R: TypeLayout, A: TypeLayout> TypeLayout for unsafe fn(_: A) -> R
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T> TypeLayout for PhantomData<T>
impl<T> TypeLayout for PhantomData<T>
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T> TypeLayout for Discriminant<T>
impl<T> TypeLayout for Discriminant<T>
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout + Deref> TypeLayout for Pin<T>
impl<T: TypeLayout + Deref> TypeLayout for Pin<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for Bound<T>
impl<T: TypeLayout> TypeLayout for Bound<T>
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for Option<T>
impl<T: TypeLayout> TypeLayout for Option<T>
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for *const T
impl<T: TypeLayout> TypeLayout for *const T
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for *mut T
impl<T: TypeLayout> TypeLayout for *mut T
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for OnceCell<T>
impl<T: TypeLayout> TypeLayout for OnceCell<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for Cell<T>
impl<T: TypeLayout> TypeLayout for Cell<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for SyncUnsafeCell<T>
impl<T: TypeLayout> TypeLayout for SyncUnsafeCell<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for UnsafeCell<T>
impl<T: TypeLayout> TypeLayout for UnsafeCell<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for Reverse<T>
impl<T: TypeLayout> TypeLayout for Reverse<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for ManuallyDrop<T>
impl<T: TypeLayout> TypeLayout for ManuallyDrop<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for Saturating<T>
impl<T: TypeLayout> TypeLayout for Saturating<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for Wrapping<T>
impl<T: TypeLayout> TypeLayout for Wrapping<T>
type Inhabited = <T as TypeLayout>::Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
source§impl<T: TypeLayout> TypeLayout for NonNull<T>
impl<T: TypeLayout> TypeLayout for NonNull<T>
type Inhabited = Inhabited
const TYPE_LAYOUT: TypeLayoutInfo<'static> = _
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.