#[repr(C)]pub struct Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(pub T0, pub T1, pub T2, pub T3, pub T4, pub T5, pub T6, pub T7, pub T8, pub T9, pub T10, pub T11, pub T12, pub T13, pub T14, pub T15);Expand description
An ABI stable tuple of 16 elements.
Tuple Fields§
§0: T0§1: T1§2: T2§3: T3§4: T4§5: T5§6: T6§7: T7§8: T8§9: T9§10: T10§11: T11§12: T12§13: T13§14: T14§15: T15Implementations§
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>where
Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>>: IStable,
T15: IStable,
T14: IStable,
T13: IStable,
T12: IStable,
T11: IStable,
T10: IStable,
T9: IStable,
T8: IStable,
T7: IStable,
T6: IStable,
T5: IStable,
T4: IStable,
T3: IStable,
T2: IStable,
T1: IStable,
T0: IStable,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>where
Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>>: IStable,
T15: IStable,
T14: IStable,
T13: IStable,
T12: IStable,
T11: IStable,
T10: IStable,
T9: IStable,
T8: IStable,
T7: IStable,
T6: IStable,
T5: IStable,
T4: IStable,
T3: IStable,
T2: IStable,
T1: IStable,
T0: IStable,
Sourcepub const fn has_optimal_layout() -> bool
pub const fn has_optimal_layout() -> bool
Returns true if the layout for Tuple16 is smaller or equal to that Rust would have generated for it.
Trait Implementations§
Source§impl<T0: Clone, T1: Clone, T2: Clone, T3: Clone, T4: Clone, T5: Clone, T6: Clone, T7: Clone, T8: Clone, T9: Clone, T10: Clone, T11: Clone, T12: Clone, T13: Clone, T14: Clone, T15: Clone> Clone for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: Clone, T1: Clone, T2: Clone, T3: Clone, T4: Clone, T5: Clone, T6: Clone, T7: Clone, T8: Clone, T9: Clone, T10: Clone, T11: Clone, T12: Clone, T13: Clone, T14: Clone, T15: Clone> Clone for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Source§impl<T0: Debug, T1: Debug, T2: Debug, T3: Debug, T4: Debug, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug, T10: Debug, T11: Debug, T12: Debug, T13: Debug, T14: Debug, T15: Debug> Debug for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: Debug, T1: Debug, T2: Debug, T3: Debug, T4: Debug, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug, T10: Debug, T11: Debug, T12: Debug, T13: Debug, T14: Debug, T15: Debug> Debug for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Source§impl<T0: Default, T1: Default, T2: Default, T3: Default, T4: Default, T5: Default, T6: Default, T7: Default, T8: Default, T9: Default, T10: Default, T11: Default, T12: Default, T13: Default, T14: Default, T15: Default> Default for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: Default, T1: Default, T2: Default, T3: Default, T4: Default, T5: Default, T6: Default, T7: Default, T8: Default, T9: Default, T10: Default, T11: Default, T12: Default, T13: Default, T14: Default, T15: Default> Default for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> From<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> From<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Source§fn from(
value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15),
) -> Self
fn from( value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), ) -> Self
Converts to this type from the input type.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> From<Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> From<Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
Source§impl<T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash, T8: Hash, T9: Hash, T10: Hash, T11: Hash, T12: Hash, T13: Hash, T14: Hash, T15: Hash> Hash for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash, T8: Hash, T9: Hash, T10: Hash, T11: Hash, T12: Hash, T13: Hash, T14: Hash, T15: Hash> Hash for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> IStable for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>where
Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>>: IStable,
T15: IStable,
T14: IStable,
T13: IStable,
T12: IStable,
T11: IStable,
T10: IStable,
T9: IStable,
T8: IStable,
T7: IStable,
T6: IStable,
T5: IStable,
T4: IStable,
T3: IStable,
T2: IStable,
T1: IStable,
T0: IStable,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> IStable for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>where
Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>>: IStable,
T15: IStable,
T14: IStable,
T13: IStable,
T12: IStable,
T11: IStable,
T10: IStable,
T9: IStable,
T8: IStable,
T7: IStable,
T6: IStable,
T5: IStable,
T4: IStable,
T3: IStable,
T2: IStable,
T1: IStable,
T0: IStable,
Source§const REPORT: &'static TypeReport
const REPORT: &'static TypeReport
A compile-time generated report of the fields of the type, allowing for compatibility inspection.
Source§const ID: u64
const ID: u64
A stable (and ideally unique) identifier for the type. Often generated using
crate::report::gen_id, but can be manually set.Source§type ForbiddenValues = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::ForbiddenValues
type ForbiddenValues = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::ForbiddenValues
The values that the annotated type cannot occupy.
Source§type UnusedBits = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::UnusedBits
type UnusedBits = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::UnusedBits
The padding bits in the annotated types
Source§type Size = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::Size
type Size = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::Size
The size of the annotated type in bytes.
Source§type Align = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::Align
type Align = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::Align
The alignment of the annotated type in bytes.
Source§type HasExactlyOneNiche = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::HasExactlyOneNiche
type HasExactlyOneNiche = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::HasExactlyOneNiche
Allows the detection of whether or not
core::option::Options are stable: Read moreSource§type ContainsIndirections = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::ContainsIndirections
type ContainsIndirections = <Struct<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<FieldPair<T0, T1>, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, T11>, T12>, T13>, T14>, T15>> as IStable>::ContainsIndirections
Whether or not the type contains indirections (pointers, indices in independent data-structures…)
Source§impl<T0: Ord, T1: Ord, T2: Ord, T3: Ord, T4: Ord, T5: Ord, T6: Ord, T7: Ord, T8: Ord, T9: Ord, T10: Ord, T11: Ord, T12: Ord, T13: Ord, T14: Ord, T15: Ord> Ord for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: Ord, T1: Ord, T2: Ord, T3: Ord, T4: Ord, T5: Ord, T6: Ord, T7: Ord, T8: Ord, T9: Ord, T10: Ord, T11: Ord, T12: Ord, T13: Ord, T14: Ord, T15: Ord> Ord for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Source§fn cmp(
&self,
other: &Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>,
) -> Ordering
fn cmp( &self, other: &Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>, ) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<T0: PartialEq, T1: PartialEq, T2: PartialEq, T3: PartialEq, T4: PartialEq, T5: PartialEq, T6: PartialEq, T7: PartialEq, T8: PartialEq, T9: PartialEq, T10: PartialEq, T11: PartialEq, T12: PartialEq, T13: PartialEq, T14: PartialEq, T15: PartialEq> PartialEq for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: PartialEq, T1: PartialEq, T2: PartialEq, T3: PartialEq, T4: PartialEq, T5: PartialEq, T6: PartialEq, T7: PartialEq, T8: PartialEq, T9: PartialEq, T10: PartialEq, T11: PartialEq, T12: PartialEq, T13: PartialEq, T14: PartialEq, T15: PartialEq> PartialEq for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Source§impl<T0: PartialOrd, T1: PartialOrd, T2: PartialOrd, T3: PartialOrd, T4: PartialOrd, T5: PartialOrd, T6: PartialOrd, T7: PartialOrd, T8: PartialOrd, T9: PartialOrd, T10: PartialOrd, T11: PartialOrd, T12: PartialOrd, T13: PartialOrd, T14: PartialOrd, T15: PartialOrd> PartialOrd for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: PartialOrd, T1: PartialOrd, T2: PartialOrd, T3: PartialOrd, T4: PartialOrd, T5: PartialOrd, T6: PartialOrd, T7: PartialOrd, T8: PartialOrd, T9: PartialOrd, T10: PartialOrd, T11: PartialOrd, T12: PartialOrd, T13: PartialOrd, T14: PartialOrd, T15: PartialOrd> PartialOrd for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: Copy, T1: Copy, T2: Copy, T3: Copy, T4: Copy, T5: Copy, T6: Copy, T7: Copy, T8: Copy, T9: Copy, T10: Copy, T11: Copy, T12: Copy, T13: Copy, T14: Copy, T15: Copy> Copy for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0: Eq, T1: Eq, T2: Eq, T3: Eq, T4: Eq, T5: Eq, T6: Eq, T7: Eq, T8: Eq, T9: Eq, T10: Eq, T11: Eq, T12: Eq, T13: Eq, T14: Eq, T15: Eq> Eq for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> StructuralPartialEq for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
Auto Trait Implementations§
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Freeze for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> RefUnwindSafe for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>where
T0: RefUnwindSafe,
T1: RefUnwindSafe,
T2: RefUnwindSafe,
T3: RefUnwindSafe,
T4: RefUnwindSafe,
T5: RefUnwindSafe,
T6: RefUnwindSafe,
T7: RefUnwindSafe,
T8: RefUnwindSafe,
T9: RefUnwindSafe,
T10: RefUnwindSafe,
T11: RefUnwindSafe,
T12: RefUnwindSafe,
T13: RefUnwindSafe,
T14: RefUnwindSafe,
T15: RefUnwindSafe,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Send for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Sync for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Unpin for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> UnwindSafe for Tuple16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>where
T0: UnwindSafe,
T1: UnwindSafe,
T2: UnwindSafe,
T3: UnwindSafe,
T4: UnwindSafe,
T5: UnwindSafe,
T6: UnwindSafe,
T7: UnwindSafe,
T8: UnwindSafe,
T9: UnwindSafe,
T10: UnwindSafe,
T11: UnwindSafe,
T12: UnwindSafe,
T13: UnwindSafe,
T14: UnwindSafe,
T15: UnwindSafe,
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IPod for T
impl<T> IPod for T
Source§fn identifier() -> u64
fn identifier() -> u64
Produces an identifier for the type, allowing to check type at runtime (barring collisions).