1use crate::cell::CloneFromCell;
4use crate::cmp::Ordering::{self, *};
5use crate::marker::{ConstParamTy_, StructuralPartialEq};
6use crate::ops::ControlFlow::{self, Break, Continue};
7
8macro_rules! tuple_impls {
13 ($T:ident) => {
15 tuple_impls!(@impl $T);
16 };
17 ($T:ident $( $U:ident )+) => {
19 tuple_impls!($( $U )+);
20 tuple_impls!(@impl $T $( $U )+);
21 };
22 (@impl $( $T:ident )+) => {
24 maybe_tuple_doc! {
25 $($T)+ @
26 #[stable(feature = "rust1", since = "1.0.0")]
27 #[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
28 const impl<$($T: [const] PartialEq),+> PartialEq for ($($T,)+) {
29 #[inline]
30 fn eq(&self, other: &($($T,)+)) -> bool {
31 $( ${ignore($T)} self.${index()} == other.${index()} )&&+
32 }
33 #[inline]
34 fn ne(&self, other: &($($T,)+)) -> bool {
35 $( ${ignore($T)} self.${index()} != other.${index()} )||+
36 }
37 }
38 }
39
40 maybe_tuple_doc! {
41 $($T)+ @
42 #[stable(feature = "rust1", since = "1.0.0")]
43 #[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
44 const impl<$($T: [const] Eq),+> Eq for ($($T,)+)
45 {}
46 }
47
48 maybe_tuple_doc! {
49 $($T)+ @
50 #[unstable(feature = "min_adt_const_params", issue = "154042")]
51 impl<$($T: ConstParamTy_),+> ConstParamTy_ for ($($T,)+)
52 {}
53 }
54
55 maybe_tuple_doc! {
56 $($T)+ @
57 #[unstable(feature = "structural_match", issue = "31434")]
58 impl<$($T),+> StructuralPartialEq for ($($T,)+)
59 {}
60 }
61
62 maybe_tuple_doc! {
63 $($T)+ @
64 #[stable(feature = "rust1", since = "1.0.0")]
65 #[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
66 const impl<$($T: [const] PartialOrd),+> PartialOrd for ($($T,)+)
67 {
68 #[inline]
69 fn partial_cmp(&self, other: &($($T,)+)) -> Option<Ordering> {
70 lexical_partial_cmp!($( ${ignore($T)} self.${index()}, other.${index()} ),+)
71 }
72 #[inline]
73 fn lt(&self, other: &($($T,)+)) -> bool {
74 lexical_ord!(lt, __chaining_lt, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
75 }
76 #[inline]
77 fn le(&self, other: &($($T,)+)) -> bool {
78 lexical_ord!(le, __chaining_le, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
79 }
80 #[inline]
81 fn ge(&self, other: &($($T,)+)) -> bool {
82 lexical_ord!(ge, __chaining_ge, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
83 }
84 #[inline]
85 fn gt(&self, other: &($($T,)+)) -> bool {
86 lexical_ord!(gt, __chaining_gt, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
87 }
88 #[inline]
89 fn __chaining_lt(&self, other: &($($T,)+)) -> ControlFlow<bool> {
90 lexical_chain!(__chaining_lt, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
91 }
92 #[inline]
93 fn __chaining_le(&self, other: &($($T,)+)) -> ControlFlow<bool> {
94 lexical_chain!(__chaining_le, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
95 }
96 #[inline]
97 fn __chaining_gt(&self, other: &($($T,)+)) -> ControlFlow<bool> {
98 lexical_chain!(__chaining_gt, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
99 }
100 #[inline]
101 fn __chaining_ge(&self, other: &($($T,)+)) -> ControlFlow<bool> {
102 lexical_chain!(__chaining_ge, $( ${ignore($T)} self.${index()}, other.${index()} ),+)
103 }
104 }
105 }
106
107 maybe_tuple_doc! {
108 $($T)+ @
109 #[stable(feature = "rust1", since = "1.0.0")]
110 #[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
111 const impl<$($T: [const] Ord),+> Ord for ($($T,)+)
112 {
113 #[inline]
114 fn cmp(&self, other: &($($T,)+)) -> Ordering {
115 lexical_cmp!($( ${ignore($T)} self.${index()}, other.${index()} ),+)
116 }
117 }
118 }
119
120 maybe_tuple_doc! {
121 $($T)+ @
122 #[stable(feature = "rust1", since = "1.0.0")]
123 #[rustc_const_unstable(feature = "const_default", issue = "143894")]
124 const impl<$($T: [const] Default),+> Default for ($($T,)+) {
125 #[inline]
126 fn default() -> ($($T,)+) {
127 ($({ let x: $T = Default::default(); x},)+)
128 }
129 }
130 }
131
132 maybe_tuple_doc! {
133 $($T)+ @
134 #[stable(feature = "array_tuple_conv", since = "1.71.0")]
135 impl<T> From<[T; ${count($T)}]> for ($(${ignore($T)} T,)+) {
137 #[inline]
138 #[allow(non_snake_case)]
139 fn from(array: [T; ${count($T)}]) -> Self {
140 let [$($T,)+] = array;
141 ($($T,)+)
142 }
143 }
144 }
145
146 maybe_tuple_doc! {
147 $($T)+ @
148 #[stable(feature = "array_tuple_conv", since = "1.71.0")]
149 impl<T> From<($(${ignore($T)} T,)+)> for [T; ${count($T)}] {
151 #[inline]
152 #[allow(non_snake_case)]
153 fn from(tuple: ($(${ignore($T)} T,)+)) -> Self {
154 let ($($T,)+) = tuple;
155 [$($T,)+]
156 }
157 }
158 }
159
160 maybe_tuple_doc! {
161 $($T)+ @
162 #[unstable(feature = "cell_get_cloned", issue = "145329")]
165 unsafe impl<$($T: CloneFromCell),+> CloneFromCell for ($($T,)+)
166 {}
167 }
168 }
169}
170
171macro_rules! maybe_tuple_doc {
174 ($a:ident @ #[$meta:meta] $item:item) => {
175 #[doc(fake_variadic)]
176 #[doc = "This trait is implemented for tuples up to twelve items long."]
177 #[$meta]
178 $item
179 };
180 ($a:ident $($rest_a:ident)+ @ #[$meta:meta] $item:item) => {
181 #[doc(hidden)]
182 #[$meta]
183 $item
184 };
185}
186
187macro_rules! lexical_ord {
195 ($rel: ident, $chain_rel: ident, $a:expr, $b:expr, $($rest_a:expr, $rest_b:expr),+) => {{
196 match PartialOrd::$chain_rel(&$a, &$b) {
197 Break(val) => val,
198 Continue(()) => lexical_ord!($rel, $chain_rel, $($rest_a, $rest_b),+),
199 }
200 }};
201 ($rel: ident, $chain_rel: ident, $a:expr, $b:expr) => {
202 PartialOrd::$rel(&$a, &$b)
204 };
205}
206
207macro_rules! lexical_chain {
209 ($chain_rel: ident, $a:expr, $b:expr $(,$rest_a:expr, $rest_b:expr)*) => {{
210 PartialOrd::$chain_rel(&$a, &$b)?;
211 lexical_chain!($chain_rel $(,$rest_a, $rest_b)*)
212 }};
213 ($chain_rel: ident) => {
214 Continue(())
215 };
216}
217
218macro_rules! lexical_partial_cmp {
219 ($a:expr, $b:expr, $($rest_a:expr, $rest_b:expr),+) => {
220 match ($a).partial_cmp(&$b) {
221 Some(Equal) => lexical_partial_cmp!($($rest_a, $rest_b),+),
222 ordering => ordering
223 }
224 };
225 ($a:expr, $b:expr) => { ($a).partial_cmp(&$b) };
226}
227
228macro_rules! lexical_cmp {
229 ($a:expr, $b:expr, $($rest_a:expr, $rest_b:expr),+) => {
230 match ($a).cmp(&$b) {
231 Equal => lexical_cmp!($($rest_a, $rest_b),+),
232 ordering => ordering
233 }
234 };
235 ($a:expr, $b:expr) => { ($a).cmp(&$b) };
236}
237
238#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<T: [const] PartialEq> PartialEq for (T,) {
#[inline]
fn eq(&self, other: &(T,)) -> bool { self.0 == other.0 }
#[inline]
fn ne(&self, other: &(T,)) -> bool { self.0 != other.0 }
}
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<T: [const] Eq> Eq for (T,) { }
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<T: ConstParamTy_> ConstParamTy_ for (T,) { }
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[unstable(feature = "structural_match", issue = "31434")]
impl<T> StructuralPartialEq for (T,) { }
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<T: [const] PartialOrd> PartialOrd for (T,) {
#[inline]
fn partial_cmp(&self, other: &(T,)) -> Option<Ordering> {
(self.0).partial_cmp(&other.0)
}
#[inline]
fn lt(&self, other: &(T,)) -> bool { PartialOrd::lt(&self.0, &other.0) }
#[inline]
fn le(&self, other: &(T,)) -> bool { PartialOrd::le(&self.0, &other.0) }
#[inline]
fn ge(&self, other: &(T,)) -> bool { PartialOrd::ge(&self.0, &other.0) }
#[inline]
fn gt(&self, other: &(T,)) -> bool { PartialOrd::gt(&self.0, &other.0) }
#[inline]
fn __chaining_lt(&self, other: &(T,)) -> ControlFlow<bool> {
{ PartialOrd::__chaining_lt(&self.0, &other.0)?; Continue(()) }
}
#[inline]
fn __chaining_le(&self, other: &(T,)) -> ControlFlow<bool> {
{ PartialOrd::__chaining_le(&self.0, &other.0)?; Continue(()) }
}
#[inline]
fn __chaining_gt(&self, other: &(T,)) -> ControlFlow<bool> {
{ PartialOrd::__chaining_gt(&self.0, &other.0)?; Continue(()) }
}
#[inline]
fn __chaining_ge(&self, other: &(T,)) -> ControlFlow<bool> {
{ PartialOrd::__chaining_ge(&self.0, &other.0)?; Continue(()) }
}
}
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<T: [const] Ord> Ord for (T,) {
#[inline]
fn cmp(&self, other: &(T,)) -> Ordering { (self.0).cmp(&other.0) }
}
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<T: [const] Default> Default for (T,) {
#[inline]
fn default() -> (T,) { ({ let x: T = Default::default(); x },) }
}
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 1]> for (T,) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 1]) -> Self { let [T] = array; (T,) }
}
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T,)> for [T; 1] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T,)) -> Self { let (T,) = tuple; [T] }
}
#[doc(fake_variadic)]
#[doc = "This trait is implemented for tuples up to twelve items long."]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<T: CloneFromCell> CloneFromCell for (T,) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<U: [const] PartialEq, T: [const] PartialEq> PartialEq for (U, T) {
#[inline]
fn eq(&self, other: &(U, T)) -> bool {
self.0 == other.0 && self.1 == other.1
}
#[inline]
fn ne(&self, other: &(U, T)) -> bool {
self.0 != other.0 || self.1 != other.1
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<U: [const] Eq, T: [const] Eq> Eq for (U, T) { }
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<U: ConstParamTy_, T: ConstParamTy_> ConstParamTy_ for (U, T) { }
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<U, T> StructuralPartialEq for (U, T) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<U: [const] PartialOrd, T: [const] PartialOrd> PartialOrd for (U, T)
{
#[inline]
fn partial_cmp(&self, other: &(U, T)) -> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) => (self.1).partial_cmp(&other.1),
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.1, &other.1),
}
}
}
#[inline]
fn le(&self, other: &(U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.1, &other.1),
}
}
}
#[inline]
fn ge(&self, other: &(U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.1, &other.1),
}
}
}
#[inline]
fn gt(&self, other: &(U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.1, &other.1),
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{ PartialOrd::__chaining_lt(&self.1, &other.1)?; Continue(()) }
}
}
#[inline]
fn __chaining_le(&self, other: &(U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{ PartialOrd::__chaining_le(&self.1, &other.1)?; Continue(()) }
}
}
#[inline]
fn __chaining_gt(&self, other: &(U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{ PartialOrd::__chaining_gt(&self.1, &other.1)?; Continue(()) }
}
}
#[inline]
fn __chaining_ge(&self, other: &(U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{ PartialOrd::__chaining_ge(&self.1, &other.1)?; Continue(()) }
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<U: [const] Ord, T: [const] Ord> Ord for (U, T) {
#[inline]
fn cmp(&self, other: &(U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal => (self.1).cmp(&other.1),
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<U: [const] Default, T: [const] Default> Default for (U, T) {
#[inline]
fn default() -> (U, T) {
({ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 2]> for (T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 2]) -> Self { let [U, T] = array; (U, T) }
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T)> for [T; 2] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T)) -> Self { let (U, T) = tuple; [U, T] }
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<U: CloneFromCell, T: CloneFromCell> CloneFromCell for (U, T) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<V: [const] PartialEq, U: [const] PartialEq, T: [const] PartialEq>
PartialEq for (V, U, T) {
#[inline]
fn eq(&self, other: &(V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2
}
#[inline]
fn ne(&self, other: &(V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<V: [const] Eq, U: [const] Eq, T: [const] Eq> Eq for (V, U, T) { }
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<V: ConstParamTy_, U: ConstParamTy_, T: ConstParamTy_> ConstParamTy_ for
(V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<V, U, T> StructuralPartialEq for (V, U, T) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<V: [const] PartialOrd, U: [const] PartialOrd, T: [const]
PartialOrd> PartialOrd for (V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(V, U, T)) -> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) => (self.2).partial_cmp(&other.2),
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.2, &other.2),
}
}
}
}
}
#[inline]
fn le(&self, other: &(V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.2, &other.2),
}
}
}
}
}
#[inline]
fn ge(&self, other: &(V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.2, &other.2),
}
}
}
}
}
#[inline]
fn gt(&self, other: &(V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.2, &other.2),
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
Continue(())
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
Continue(())
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
Continue(())
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
Continue(())
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<V: [const] Ord, U: [const] Ord, T: [const] Ord> Ord for (V, U, T) {
#[inline]
fn cmp(&self, other: &(V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal => (self.2).cmp(&other.2),
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<V: [const] Default, U: [const] Default, T: [const] Default> Default
for (V, U, T) {
#[inline]
fn default() -> (V, U, T) {
({ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 3]> for (T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 3]) -> Self { let [V, U, T] = array; (V, U, T) }
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T)> for [T; 3] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T)) -> Self { let (V, U, T) = tuple; [V, U, T] }
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<V: CloneFromCell, U: CloneFromCell, T: CloneFromCell>
CloneFromCell for (V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<W: [const] PartialEq, V: [const] PartialEq, U: [const] PartialEq,
T: [const] PartialEq> PartialEq for (W, V, U, T) {
#[inline]
fn eq(&self, other: &(W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3
}
#[inline]
fn ne(&self, other: &(W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<W: [const] Eq, V: [const] Eq, U: [const] Eq, T: [const] Eq> Eq for
(W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<W: ConstParamTy_, V: ConstParamTy_, U: ConstParamTy_, T: ConstParamTy_>
ConstParamTy_ for (W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<W, V, U, T> StructuralPartialEq for (W, V, U, T) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<W: [const] PartialOrd, V: [const] PartialOrd, U: [const]
PartialOrd, T: [const] PartialOrd> PartialOrd for (W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(W, V, U, T)) -> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) => (self.3).partial_cmp(&other.3),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.3, &other.3),
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.3, &other.3),
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.3, &other.3),
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.3, &other.3),
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
Continue(())
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
Continue(())
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
Continue(())
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
Continue(())
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<W: [const] Ord, V: [const] Ord, U: [const] Ord, T: [const] Ord> Ord
for (W, V, U, T) {
#[inline]
fn cmp(&self, other: &(W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal => (self.3).cmp(&other.3),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<W: [const] Default, V: [const] Default, U: [const] Default,
T: [const] Default> Default for (W, V, U, T) {
#[inline]
fn default() -> (W, V, U, T) {
({ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 4]> for (T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 4]) -> Self { let [W, V, U, T] = array; (W, V, U, T) }
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T)> for [T; 4] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T)) -> Self {
let (W, V, U, T) = tuple;
[W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<W: CloneFromCell, V: CloneFromCell, U: CloneFromCell,
T: CloneFromCell> CloneFromCell for (W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<X: [const] PartialEq, W: [const] PartialEq, V: [const] PartialEq,
U: [const] PartialEq, T: [const] PartialEq> PartialEq for (X, W, V, U, T)
{
#[inline]
fn eq(&self, other: &(X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4
}
#[inline]
fn ne(&self, other: &(X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<X: [const] Eq, W: [const] Eq, V: [const] Eq, U: [const] Eq,
T: [const] Eq> Eq for (X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<X: ConstParamTy_, W: ConstParamTy_, V: ConstParamTy_, U: ConstParamTy_,
T: ConstParamTy_> ConstParamTy_ for (X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<X, W, V, U, T> StructuralPartialEq for (X, W, V, U, T) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<X: [const] PartialOrd, W: [const] PartialOrd, V: [const]
PartialOrd, U: [const] PartialOrd, T: [const] PartialOrd> PartialOrd for
(X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(X, W, V, U, T)) -> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) => (self.4).partial_cmp(&other.4),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.4, &other.4),
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.4, &other.4),
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.4, &other.4),
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.4, &other.4),
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
Continue(())
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
Continue(())
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
Continue(())
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
Continue(())
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<X: [const] Ord, W: [const] Ord, V: [const] Ord, U: [const] Ord,
T: [const] Ord> Ord for (X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal => (self.4).cmp(&other.4),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<X: [const] Default, W: [const] Default, V: [const] Default,
U: [const] Default, T: [const] Default> Default for (X, W, V, U, T) {
#[inline]
fn default() -> (X, W, V, U, T) {
({ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 5]> for (T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 5]) -> Self {
let [X, W, V, U, T] = array;
(X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T)> for [T; 5] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T)) -> Self {
let (X, W, V, U, T) = tuple;
[X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<X: CloneFromCell, W: CloneFromCell, V: CloneFromCell,
U: CloneFromCell, T: CloneFromCell> CloneFromCell for (X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Y: [const] PartialEq, X: [const] PartialEq, W: [const] PartialEq,
V: [const] PartialEq, U: [const] PartialEq, T: [const] PartialEq>
PartialEq for (Y, X, W, V, U, T) {
#[inline]
fn eq(&self, other: &(Y, X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4 && self.5 == other.5
}
#[inline]
fn ne(&self, other: &(Y, X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4 || self.5 != other.5
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Y: [const] Eq, X: [const] Eq, W: [const] Eq, V: [const] Eq,
U: [const] Eq, T: [const] Eq> Eq for (Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<Y: ConstParamTy_, X: ConstParamTy_, W: ConstParamTy_, V: ConstParamTy_,
U: ConstParamTy_, T: ConstParamTy_> ConstParamTy_ for (Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<Y, X, W, V, U, T> StructuralPartialEq for (Y, X, W, V, U, T) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Y: [const] PartialOrd, X: [const] PartialOrd, W: [const]
PartialOrd, V: [const] PartialOrd, U: [const] PartialOrd, T: [const]
PartialOrd> PartialOrd for (Y, X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(Y, X, W, V, U, T)) -> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) =>
match (self.4).partial_cmp(&other.4) {
Some(Equal) => (self.5).partial_cmp(&other.5),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.5, &other.5),
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.4, &other.4) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.5, &other.5),
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.4, &other.4) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.5, &other.5),
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.5, &other.5),
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(Y, X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
{
PartialOrd::__chaining_lt(&self.5, &other.5)?;
Continue(())
}
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(Y, X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
{
PartialOrd::__chaining_le(&self.5, &other.5)?;
Continue(())
}
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(Y, X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
{
PartialOrd::__chaining_gt(&self.5, &other.5)?;
Continue(())
}
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(Y, X, W, V, U, T)) -> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
{
PartialOrd::__chaining_ge(&self.5, &other.5)?;
Continue(())
}
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Y: [const] Ord, X: [const] Ord, W: [const] Ord, V: [const] Ord,
U: [const] Ord, T: [const] Ord> Ord for (Y, X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(Y, X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal =>
match (self.4).cmp(&other.4) {
Equal => (self.5).cmp(&other.5),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<Y: [const] Default, X: [const] Default, W: [const] Default,
V: [const] Default, U: [const] Default, T: [const] Default> Default for
(Y, X, W, V, U, T) {
#[inline]
fn default() -> (Y, X, W, V, U, T) {
({ let x: Y = Default::default(); x },
{ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 6]> for (T, T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 6]) -> Self {
let [Y, X, W, V, U, T] = array;
(Y, X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T, T)> for [T; 6] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T, T)) -> Self {
let (Y, X, W, V, U, T) = tuple;
[Y, X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell,
V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for
(Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Z: [const] PartialEq, Y: [const] PartialEq, X: [const] PartialEq,
W: [const] PartialEq, V: [const] PartialEq, U: [const] PartialEq,
T: [const] PartialEq> PartialEq for (Z, Y, X, W, V, U, T) {
#[inline]
fn eq(&self, other: &(Z, Y, X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4 && self.5 == other.5
&& self.6 == other.6
}
#[inline]
fn ne(&self, other: &(Z, Y, X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4 || self.5 != other.5
|| self.6 != other.6
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Z: [const] Eq, Y: [const] Eq, X: [const] Eq, W: [const] Eq,
V: [const] Eq, U: [const] Eq, T: [const] Eq> Eq for (Z, Y, X, W, V, U, T)
{
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<Z: ConstParamTy_, Y: ConstParamTy_, X: ConstParamTy_, W: ConstParamTy_,
V: ConstParamTy_, U: ConstParamTy_, T: ConstParamTy_> ConstParamTy_ for
(Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<Z, Y, X, W, V, U, T> StructuralPartialEq for (Z, Y, X, W, V, U, T) { }
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Z: [const] PartialOrd, Y: [const] PartialOrd, X: [const]
PartialOrd, W: [const] PartialOrd, V: [const] PartialOrd, U: [const]
PartialOrd, T: [const] PartialOrd> PartialOrd for (Z, Y, X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(Z, Y, X, W, V, U, T)) -> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) =>
match (self.4).partial_cmp(&other.4) {
Some(Equal) =>
match (self.5).partial_cmp(&other.5) {
Some(Equal) => (self.6).partial_cmp(&other.6),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.6, &other.6),
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.5, &other.5) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.6, &other.6),
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.5, &other.5) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.6, &other.6),
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.6, &other.6),
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
{
PartialOrd::__chaining_lt(&self.5, &other.5)?;
{
PartialOrd::__chaining_lt(&self.6, &other.6)?;
Continue(())
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
{
PartialOrd::__chaining_le(&self.5, &other.5)?;
{
PartialOrd::__chaining_le(&self.6, &other.6)?;
Continue(())
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
{
PartialOrd::__chaining_gt(&self.5, &other.5)?;
{
PartialOrd::__chaining_gt(&self.6, &other.6)?;
Continue(())
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
{
PartialOrd::__chaining_ge(&self.5, &other.5)?;
{
PartialOrd::__chaining_ge(&self.6, &other.6)?;
Continue(())
}
}
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<Z: [const] Ord, Y: [const] Ord, X: [const] Ord, W: [const] Ord,
V: [const] Ord, U: [const] Ord, T: [const] Ord> Ord for
(Z, Y, X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(Z, Y, X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal =>
match (self.4).cmp(&other.4) {
Equal =>
match (self.5).cmp(&other.5) {
Equal => (self.6).cmp(&other.6),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<Z: [const] Default, Y: [const] Default, X: [const] Default,
W: [const] Default, V: [const] Default, U: [const] Default, T: [const]
Default> Default for (Z, Y, X, W, V, U, T) {
#[inline]
fn default() -> (Z, Y, X, W, V, U, T) {
({ let x: Z = Default::default(); x },
{ let x: Y = Default::default(); x },
{ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 7]> for (T, T, T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 7]) -> Self {
let [Z, Y, X, W, V, U, T] = array;
(Z, Y, X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T, T, T)> for [T; 7] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T, T, T)) -> Self {
let (Z, Y, X, W, V, U, T) = tuple;
[Z, Y, X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell,
W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell>
CloneFromCell for (Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<A: [const] PartialEq, Z: [const] PartialEq, Y: [const] PartialEq,
X: [const] PartialEq, W: [const] PartialEq, V: [const] PartialEq,
U: [const] PartialEq, T: [const] PartialEq> PartialEq for
(A, Z, Y, X, W, V, U, T) {
#[inline]
fn eq(&self, other: &(A, Z, Y, X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4 && self.5 == other.5
&& self.6 == other.6 && self.7 == other.7
}
#[inline]
fn ne(&self, other: &(A, Z, Y, X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4 || self.5 != other.5
|| self.6 != other.6 || self.7 != other.7
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<A: [const] Eq, Z: [const] Eq, Y: [const] Eq, X: [const] Eq,
W: [const] Eq, V: [const] Eq, U: [const] Eq, T: [const] Eq> Eq for
(A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<A: ConstParamTy_, Z: ConstParamTy_, Y: ConstParamTy_, X: ConstParamTy_,
W: ConstParamTy_, V: ConstParamTy_, U: ConstParamTy_, T: ConstParamTy_>
ConstParamTy_ for (A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<A, Z, Y, X, W, V, U, T> StructuralPartialEq for (A, Z, Y, X, W, V, U, T)
{
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<A: [const] PartialOrd, Z: [const] PartialOrd, Y: [const]
PartialOrd, X: [const] PartialOrd, W: [const] PartialOrd, V: [const]
PartialOrd, U: [const] PartialOrd, T: [const] PartialOrd> PartialOrd for
(A, Z, Y, X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(A, Z, Y, X, W, V, U, T))
-> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) =>
match (self.4).partial_cmp(&other.4) {
Some(Equal) =>
match (self.5).partial_cmp(&other.5) {
Some(Equal) =>
match (self.6).partial_cmp(&other.6) {
Some(Equal) => (self.7).partial_cmp(&other.7),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.7, &other.7),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.6, &other.6) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.7, &other.7),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.6, &other.6) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.7, &other.7),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.7, &other.7),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
{
PartialOrd::__chaining_lt(&self.5, &other.5)?;
{
PartialOrd::__chaining_lt(&self.6, &other.6)?;
{
PartialOrd::__chaining_lt(&self.7, &other.7)?;
Continue(())
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
{
PartialOrd::__chaining_le(&self.5, &other.5)?;
{
PartialOrd::__chaining_le(&self.6, &other.6)?;
{
PartialOrd::__chaining_le(&self.7, &other.7)?;
Continue(())
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
{
PartialOrd::__chaining_gt(&self.5, &other.5)?;
{
PartialOrd::__chaining_gt(&self.6, &other.6)?;
{
PartialOrd::__chaining_gt(&self.7, &other.7)?;
Continue(())
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
{
PartialOrd::__chaining_ge(&self.5, &other.5)?;
{
PartialOrd::__chaining_ge(&self.6, &other.6)?;
{
PartialOrd::__chaining_ge(&self.7, &other.7)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<A: [const] Ord, Z: [const] Ord, Y: [const] Ord, X: [const] Ord,
W: [const] Ord, V: [const] Ord, U: [const] Ord, T: [const] Ord> Ord for
(A, Z, Y, X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(A, Z, Y, X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal =>
match (self.4).cmp(&other.4) {
Equal =>
match (self.5).cmp(&other.5) {
Equal =>
match (self.6).cmp(&other.6) {
Equal => (self.7).cmp(&other.7),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<A: [const] Default, Z: [const] Default, Y: [const] Default,
X: [const] Default, W: [const] Default, V: [const] Default, U: [const]
Default, T: [const] Default> Default for (A, Z, Y, X, W, V, U, T) {
#[inline]
fn default() -> (A, Z, Y, X, W, V, U, T) {
({ let x: A = Default::default(); x },
{ let x: Z = Default::default(); x },
{ let x: Y = Default::default(); x },
{ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 8]> for (T, T, T, T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 8]) -> Self {
let [A, Z, Y, X, W, V, U, T] = array;
(A, Z, Y, X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T, T, T, T)> for [T; 8] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T, T, T, T)) -> Self {
let (A, Z, Y, X, W, V, U, T) = tuple;
[A, Z, Y, X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell,
X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell,
T: CloneFromCell> CloneFromCell for (A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<B: [const] PartialEq, A: [const] PartialEq, Z: [const] PartialEq,
Y: [const] PartialEq, X: [const] PartialEq, W: [const] PartialEq,
V: [const] PartialEq, U: [const] PartialEq, T: [const] PartialEq>
PartialEq for (B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn eq(&self, other: &(B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4 && self.5 == other.5
&& self.6 == other.6 && self.7 == other.7 &&
self.8 == other.8
}
#[inline]
fn ne(&self, other: &(B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4 || self.5 != other.5
|| self.6 != other.6 || self.7 != other.7 ||
self.8 != other.8
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<B: [const] Eq, A: [const] Eq, Z: [const] Eq, Y: [const] Eq,
X: [const] Eq, W: [const] Eq, V: [const] Eq, U: [const] Eq, T: [const] Eq>
Eq for (B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<B: ConstParamTy_, A: ConstParamTy_, Z: ConstParamTy_, Y: ConstParamTy_,
X: ConstParamTy_, W: ConstParamTy_, V: ConstParamTy_, U: ConstParamTy_,
T: ConstParamTy_> ConstParamTy_ for (B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for
(B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<B: [const] PartialOrd, A: [const] PartialOrd, Z: [const]
PartialOrd, Y: [const] PartialOrd, X: [const] PartialOrd, W: [const]
PartialOrd, V: [const] PartialOrd, U: [const] PartialOrd, T: [const]
PartialOrd> PartialOrd for (B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(B, A, Z, Y, X, W, V, U, T))
-> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) =>
match (self.4).partial_cmp(&other.4) {
Some(Equal) =>
match (self.5).partial_cmp(&other.5) {
Some(Equal) =>
match (self.6).partial_cmp(&other.6) {
Some(Equal) =>
match (self.7).partial_cmp(&other.7) {
Some(Equal) => (self.8).partial_cmp(&other.8),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.8, &other.8),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.7, &other.7) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.8, &other.8),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.7, &other.7) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.8, &other.8),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.8, &other.8),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
{
PartialOrd::__chaining_lt(&self.5, &other.5)?;
{
PartialOrd::__chaining_lt(&self.6, &other.6)?;
{
PartialOrd::__chaining_lt(&self.7, &other.7)?;
{
PartialOrd::__chaining_lt(&self.8, &other.8)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
{
PartialOrd::__chaining_le(&self.5, &other.5)?;
{
PartialOrd::__chaining_le(&self.6, &other.6)?;
{
PartialOrd::__chaining_le(&self.7, &other.7)?;
{
PartialOrd::__chaining_le(&self.8, &other.8)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
{
PartialOrd::__chaining_gt(&self.5, &other.5)?;
{
PartialOrd::__chaining_gt(&self.6, &other.6)?;
{
PartialOrd::__chaining_gt(&self.7, &other.7)?;
{
PartialOrd::__chaining_gt(&self.8, &other.8)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
{
PartialOrd::__chaining_ge(&self.5, &other.5)?;
{
PartialOrd::__chaining_ge(&self.6, &other.6)?;
{
PartialOrd::__chaining_ge(&self.7, &other.7)?;
{
PartialOrd::__chaining_ge(&self.8, &other.8)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<B: [const] Ord, A: [const] Ord, Z: [const] Ord, Y: [const] Ord,
X: [const] Ord, W: [const] Ord, V: [const] Ord, U: [const] Ord, T: [const]
Ord> Ord for (B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(B, A, Z, Y, X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal =>
match (self.4).cmp(&other.4) {
Equal =>
match (self.5).cmp(&other.5) {
Equal =>
match (self.6).cmp(&other.6) {
Equal =>
match (self.7).cmp(&other.7) {
Equal => (self.8).cmp(&other.8),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<B: [const] Default, A: [const] Default, Z: [const] Default,
Y: [const] Default, X: [const] Default, W: [const] Default, V: [const]
Default, U: [const] Default, T: [const] Default> Default for
(B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn default() -> (B, A, Z, Y, X, W, V, U, T) {
({ let x: B = Default::default(); x },
{ let x: A = Default::default(); x },
{ let x: Z = Default::default(); x },
{ let x: Y = Default::default(); x },
{ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 9]> for (T, T, T, T, T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 9]) -> Self {
let [B, A, Z, Y, X, W, V, U, T] = array;
(B, A, Z, Y, X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T, T, T, T, T)> for [T; 9] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T, T, T, T, T)) -> Self {
let (B, A, Z, Y, X, W, V, U, T) = tuple;
[B, A, Z, Y, X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<B: CloneFromCell, A: CloneFromCell, Z: CloneFromCell,
Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell,
U: CloneFromCell, T: CloneFromCell> CloneFromCell for
(B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<C: [const] PartialEq, B: [const] PartialEq, A: [const] PartialEq,
Z: [const] PartialEq, Y: [const] PartialEq, X: [const] PartialEq,
W: [const] PartialEq, V: [const] PartialEq, U: [const] PartialEq,
T: [const] PartialEq> PartialEq for (C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn eq(&self, other: &(C, B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4 && self.5 == other.5
&& self.6 == other.6 && self.7 == other.7 &&
self.8 == other.8 && self.9 == other.9
}
#[inline]
fn ne(&self, other: &(C, B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4 || self.5 != other.5
|| self.6 != other.6 || self.7 != other.7 ||
self.8 != other.8 || self.9 != other.9
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<C: [const] Eq, B: [const] Eq, A: [const] Eq, Z: [const] Eq,
Y: [const] Eq, X: [const] Eq, W: [const] Eq, V: [const] Eq, U: [const] Eq,
T: [const] Eq> Eq for (C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<C: ConstParamTy_, B: ConstParamTy_, A: ConstParamTy_, Z: ConstParamTy_,
Y: ConstParamTy_, X: ConstParamTy_, W: ConstParamTy_, V: ConstParamTy_,
U: ConstParamTy_, T: ConstParamTy_> ConstParamTy_ for
(C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<C, B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for
(C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<C: [const] PartialOrd, B: [const] PartialOrd, A: [const]
PartialOrd, Z: [const] PartialOrd, Y: [const] PartialOrd, X: [const]
PartialOrd, W: [const] PartialOrd, V: [const] PartialOrd, U: [const]
PartialOrd, T: [const] PartialOrd> PartialOrd for
(C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(C, B, A, Z, Y, X, W, V, U, T))
-> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) =>
match (self.4).partial_cmp(&other.4) {
Some(Equal) =>
match (self.5).partial_cmp(&other.5) {
Some(Equal) =>
match (self.6).partial_cmp(&other.6) {
Some(Equal) =>
match (self.7).partial_cmp(&other.7) {
Some(Equal) =>
match (self.8).partial_cmp(&other.8) {
Some(Equal) => (self.9).partial_cmp(&other.9),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.8, &other.8) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.9, &other.9),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.8, &other.8) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.9, &other.9),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.8, &other.8) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.9, &other.9),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.8, &other.8) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.9, &other.9),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
{
PartialOrd::__chaining_lt(&self.5, &other.5)?;
{
PartialOrd::__chaining_lt(&self.6, &other.6)?;
{
PartialOrd::__chaining_lt(&self.7, &other.7)?;
{
PartialOrd::__chaining_lt(&self.8, &other.8)?;
{
PartialOrd::__chaining_lt(&self.9, &other.9)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
{
PartialOrd::__chaining_le(&self.5, &other.5)?;
{
PartialOrd::__chaining_le(&self.6, &other.6)?;
{
PartialOrd::__chaining_le(&self.7, &other.7)?;
{
PartialOrd::__chaining_le(&self.8, &other.8)?;
{
PartialOrd::__chaining_le(&self.9, &other.9)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
{
PartialOrd::__chaining_gt(&self.5, &other.5)?;
{
PartialOrd::__chaining_gt(&self.6, &other.6)?;
{
PartialOrd::__chaining_gt(&self.7, &other.7)?;
{
PartialOrd::__chaining_gt(&self.8, &other.8)?;
{
PartialOrd::__chaining_gt(&self.9, &other.9)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
{
PartialOrd::__chaining_ge(&self.5, &other.5)?;
{
PartialOrd::__chaining_ge(&self.6, &other.6)?;
{
PartialOrd::__chaining_ge(&self.7, &other.7)?;
{
PartialOrd::__chaining_ge(&self.8, &other.8)?;
{
PartialOrd::__chaining_ge(&self.9, &other.9)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<C: [const] Ord, B: [const] Ord, A: [const] Ord, Z: [const] Ord,
Y: [const] Ord, X: [const] Ord, W: [const] Ord, V: [const] Ord, U: [const]
Ord, T: [const] Ord> Ord for (C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(C, B, A, Z, Y, X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal =>
match (self.4).cmp(&other.4) {
Equal =>
match (self.5).cmp(&other.5) {
Equal =>
match (self.6).cmp(&other.6) {
Equal =>
match (self.7).cmp(&other.7) {
Equal =>
match (self.8).cmp(&other.8) {
Equal => (self.9).cmp(&other.9),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<C: [const] Default, B: [const] Default, A: [const] Default,
Z: [const] Default, Y: [const] Default, X: [const] Default, W: [const]
Default, V: [const] Default, U: [const] Default, T: [const] Default>
Default for (C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn default() -> (C, B, A, Z, Y, X, W, V, U, T) {
({ let x: C = Default::default(); x },
{ let x: B = Default::default(); x },
{ let x: A = Default::default(); x },
{ let x: Z = Default::default(); x },
{ let x: Y = Default::default(); x },
{ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 10]> for (T, T, T, T, T, T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 10]) -> Self {
let [C, B, A, Z, Y, X, W, V, U, T] = array;
(C, B, A, Z, Y, X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T, T, T, T, T, T)> for [T; 10] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T, T, T, T, T, T)) -> Self {
let (C, B, A, Z, Y, X, W, V, U, T) = tuple;
[C, B, A, Z, Y, X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<C: CloneFromCell, B: CloneFromCell, A: CloneFromCell,
Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell,
V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for
(C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<D: [const] PartialEq, C: [const] PartialEq, B: [const] PartialEq,
A: [const] PartialEq, Z: [const] PartialEq, Y: [const] PartialEq,
X: [const] PartialEq, W: [const] PartialEq, V: [const] PartialEq,
U: [const] PartialEq, T: [const] PartialEq> PartialEq for
(D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn eq(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4 && self.5 == other.5
&& self.6 == other.6 && self.7 == other.7 &&
self.8 == other.8 && self.9 == other.9 &&
self.10 == other.10
}
#[inline]
fn ne(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4 || self.5 != other.5
|| self.6 != other.6 || self.7 != other.7 ||
self.8 != other.8 || self.9 != other.9 ||
self.10 != other.10
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<D: [const] Eq, C: [const] Eq, B: [const] Eq, A: [const] Eq,
Z: [const] Eq, Y: [const] Eq, X: [const] Eq, W: [const] Eq, V: [const] Eq,
U: [const] Eq, T: [const] Eq> Eq for (D, C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<D: ConstParamTy_, C: ConstParamTy_, B: ConstParamTy_, A: ConstParamTy_,
Z: ConstParamTy_, Y: ConstParamTy_, X: ConstParamTy_, W: ConstParamTy_,
V: ConstParamTy_, U: ConstParamTy_, T: ConstParamTy_> ConstParamTy_ for
(D, C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<D, C, B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for
(D, C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<D: [const] PartialOrd, C: [const] PartialOrd, B: [const]
PartialOrd, A: [const] PartialOrd, Z: [const] PartialOrd, Y: [const]
PartialOrd, X: [const] PartialOrd, W: [const] PartialOrd, V: [const]
PartialOrd, U: [const] PartialOrd, T: [const] PartialOrd> PartialOrd for
(D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T))
-> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) =>
match (self.4).partial_cmp(&other.4) {
Some(Equal) =>
match (self.5).partial_cmp(&other.5) {
Some(Equal) =>
match (self.6).partial_cmp(&other.6) {
Some(Equal) =>
match (self.7).partial_cmp(&other.7) {
Some(Equal) =>
match (self.8).partial_cmp(&other.8) {
Some(Equal) =>
match (self.9).partial_cmp(&other.9) {
Some(Equal) => (self.10).partial_cmp(&other.10),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.9, &other.9) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.10, &other.10),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.9, &other.9) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.10, &other.10),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.9, &other.9) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.10, &other.10),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.9, &other.9) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.10, &other.10),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
{
PartialOrd::__chaining_lt(&self.5, &other.5)?;
{
PartialOrd::__chaining_lt(&self.6, &other.6)?;
{
PartialOrd::__chaining_lt(&self.7, &other.7)?;
{
PartialOrd::__chaining_lt(&self.8, &other.8)?;
{
PartialOrd::__chaining_lt(&self.9, &other.9)?;
{
PartialOrd::__chaining_lt(&self.10, &other.10)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
{
PartialOrd::__chaining_le(&self.5, &other.5)?;
{
PartialOrd::__chaining_le(&self.6, &other.6)?;
{
PartialOrd::__chaining_le(&self.7, &other.7)?;
{
PartialOrd::__chaining_le(&self.8, &other.8)?;
{
PartialOrd::__chaining_le(&self.9, &other.9)?;
{
PartialOrd::__chaining_le(&self.10, &other.10)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
{
PartialOrd::__chaining_gt(&self.5, &other.5)?;
{
PartialOrd::__chaining_gt(&self.6, &other.6)?;
{
PartialOrd::__chaining_gt(&self.7, &other.7)?;
{
PartialOrd::__chaining_gt(&self.8, &other.8)?;
{
PartialOrd::__chaining_gt(&self.9, &other.9)?;
{
PartialOrd::__chaining_gt(&self.10, &other.10)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
{
PartialOrd::__chaining_ge(&self.5, &other.5)?;
{
PartialOrd::__chaining_ge(&self.6, &other.6)?;
{
PartialOrd::__chaining_ge(&self.7, &other.7)?;
{
PartialOrd::__chaining_ge(&self.8, &other.8)?;
{
PartialOrd::__chaining_ge(&self.9, &other.9)?;
{
PartialOrd::__chaining_ge(&self.10, &other.10)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<D: [const] Ord, C: [const] Ord, B: [const] Ord, A: [const] Ord,
Z: [const] Ord, Y: [const] Ord, X: [const] Ord, W: [const] Ord, V: [const]
Ord, U: [const] Ord, T: [const] Ord> Ord for
(D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(D, C, B, A, Z, Y, X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal =>
match (self.4).cmp(&other.4) {
Equal =>
match (self.5).cmp(&other.5) {
Equal =>
match (self.6).cmp(&other.6) {
Equal =>
match (self.7).cmp(&other.7) {
Equal =>
match (self.8).cmp(&other.8) {
Equal =>
match (self.9).cmp(&other.9) {
Equal => (self.10).cmp(&other.10),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<D: [const] Default, C: [const] Default, B: [const] Default,
A: [const] Default, Z: [const] Default, Y: [const] Default, X: [const]
Default, W: [const] Default, V: [const] Default, U: [const] Default,
T: [const] Default> Default for (D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn default() -> (D, C, B, A, Z, Y, X, W, V, U, T) {
({ let x: D = Default::default(); x },
{ let x: C = Default::default(); x },
{ let x: B = Default::default(); x },
{ let x: A = Default::default(); x },
{ let x: Z = Default::default(); x },
{ let x: Y = Default::default(); x },
{ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 11]> for (T, T, T, T, T, T, T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 11]) -> Self {
let [D, C, B, A, Z, Y, X, W, V, U, T] = array;
(D, C, B, A, Z, Y, X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T, T, T, T, T, T, T)> for [T; 11] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T, T, T, T, T, T, T)) -> Self {
let (D, C, B, A, Z, Y, X, W, V, U, T) = tuple;
[D, C, B, A, Z, Y, X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<D: CloneFromCell, C: CloneFromCell, B: CloneFromCell,
A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell,
W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell>
CloneFromCell for (D, C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<E: [const] PartialEq, D: [const] PartialEq, C: [const] PartialEq,
B: [const] PartialEq, A: [const] PartialEq, Z: [const] PartialEq,
Y: [const] PartialEq, X: [const] PartialEq, W: [const] PartialEq,
V: [const] PartialEq, U: [const] PartialEq, T: [const] PartialEq>
PartialEq for (E, D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn eq(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 == other.0 && self.1 == other.1 && self.2 == other.2 &&
self.3 == other.3 && self.4 == other.4 && self.5 == other.5
&& self.6 == other.6 && self.7 == other.7 &&
self.8 == other.8 && self.9 == other.9 &&
self.10 == other.10 && self.11 == other.11
}
#[inline]
fn ne(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
self.0 != other.0 || self.1 != other.1 || self.2 != other.2 ||
self.3 != other.3 || self.4 != other.4 || self.5 != other.5
|| self.6 != other.6 || self.7 != other.7 ||
self.8 != other.8 || self.9 != other.9 ||
self.10 != other.10 || self.11 != other.11
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<E: [const] Eq, D: [const] Eq, C: [const] Eq, B: [const] Eq,
A: [const] Eq, Z: [const] Eq, Y: [const] Eq, X: [const] Eq, W: [const] Eq,
V: [const] Eq, U: [const] Eq, T: [const] Eq> Eq for
(E, D, C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "min_adt_const_params", issue = "154042")]
impl<E: ConstParamTy_, D: ConstParamTy_, C: ConstParamTy_, B: ConstParamTy_,
A: ConstParamTy_, Z: ConstParamTy_, Y: ConstParamTy_, X: ConstParamTy_,
W: ConstParamTy_, V: ConstParamTy_, U: ConstParamTy_, T: ConstParamTy_>
ConstParamTy_ for (E, D, C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[unstable(feature = "structural_match", issue = "31434")]
impl<E, D, C, B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for
(E, D, C, B, A, Z, Y, X, W, V, U, T) {
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<E: [const] PartialOrd, D: [const] PartialOrd, C: [const]
PartialOrd, B: [const] PartialOrd, A: [const] PartialOrd, Z: [const]
PartialOrd, Y: [const] PartialOrd, X: [const] PartialOrd, W: [const]
PartialOrd, V: [const] PartialOrd, U: [const] PartialOrd, T: [const]
PartialOrd> PartialOrd for (E, D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn partial_cmp(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T))
-> Option<Ordering> {
match (self.0).partial_cmp(&other.0) {
Some(Equal) =>
match (self.1).partial_cmp(&other.1) {
Some(Equal) =>
match (self.2).partial_cmp(&other.2) {
Some(Equal) =>
match (self.3).partial_cmp(&other.3) {
Some(Equal) =>
match (self.4).partial_cmp(&other.4) {
Some(Equal) =>
match (self.5).partial_cmp(&other.5) {
Some(Equal) =>
match (self.6).partial_cmp(&other.6) {
Some(Equal) =>
match (self.7).partial_cmp(&other.7) {
Some(Equal) =>
match (self.8).partial_cmp(&other.8) {
Some(Equal) =>
match (self.9).partial_cmp(&other.9) {
Some(Equal) =>
match (self.10).partial_cmp(&other.10) {
Some(Equal) => (self.11).partial_cmp(&other.11),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
#[inline]
fn lt(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_lt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.9, &other.9) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_lt(&self.10, &other.10) {
Break(val) => val,
Continue(()) => PartialOrd::lt(&self.11, &other.11),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn le(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_le(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.9, &other.9) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_le(&self.10, &other.10) {
Break(val) => val,
Continue(()) => PartialOrd::le(&self.11, &other.11),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn ge(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_ge(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.9, &other.9) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_ge(&self.10, &other.10) {
Break(val) => val,
Continue(()) => PartialOrd::ge(&self.11, &other.11),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn gt(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T)) -> bool {
{
match PartialOrd::__chaining_gt(&self.0, &other.0) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.1, &other.1) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.2, &other.2) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.3, &other.3) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.4, &other.4) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.5, &other.5) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.6, &other.6) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.7, &other.7) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.8, &other.8) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.9, &other.9) {
Break(val) => val,
Continue(()) => {
match PartialOrd::__chaining_gt(&self.10, &other.10) {
Break(val) => val,
Continue(()) => PartialOrd::gt(&self.11, &other.11),
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_lt(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_lt(&self.0, &other.0)?;
{
PartialOrd::__chaining_lt(&self.1, &other.1)?;
{
PartialOrd::__chaining_lt(&self.2, &other.2)?;
{
PartialOrd::__chaining_lt(&self.3, &other.3)?;
{
PartialOrd::__chaining_lt(&self.4, &other.4)?;
{
PartialOrd::__chaining_lt(&self.5, &other.5)?;
{
PartialOrd::__chaining_lt(&self.6, &other.6)?;
{
PartialOrd::__chaining_lt(&self.7, &other.7)?;
{
PartialOrd::__chaining_lt(&self.8, &other.8)?;
{
PartialOrd::__chaining_lt(&self.9, &other.9)?;
{
PartialOrd::__chaining_lt(&self.10, &other.10)?;
{
PartialOrd::__chaining_lt(&self.11, &other.11)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_le(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_le(&self.0, &other.0)?;
{
PartialOrd::__chaining_le(&self.1, &other.1)?;
{
PartialOrd::__chaining_le(&self.2, &other.2)?;
{
PartialOrd::__chaining_le(&self.3, &other.3)?;
{
PartialOrd::__chaining_le(&self.4, &other.4)?;
{
PartialOrd::__chaining_le(&self.5, &other.5)?;
{
PartialOrd::__chaining_le(&self.6, &other.6)?;
{
PartialOrd::__chaining_le(&self.7, &other.7)?;
{
PartialOrd::__chaining_le(&self.8, &other.8)?;
{
PartialOrd::__chaining_le(&self.9, &other.9)?;
{
PartialOrd::__chaining_le(&self.10, &other.10)?;
{
PartialOrd::__chaining_le(&self.11, &other.11)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_gt(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_gt(&self.0, &other.0)?;
{
PartialOrd::__chaining_gt(&self.1, &other.1)?;
{
PartialOrd::__chaining_gt(&self.2, &other.2)?;
{
PartialOrd::__chaining_gt(&self.3, &other.3)?;
{
PartialOrd::__chaining_gt(&self.4, &other.4)?;
{
PartialOrd::__chaining_gt(&self.5, &other.5)?;
{
PartialOrd::__chaining_gt(&self.6, &other.6)?;
{
PartialOrd::__chaining_gt(&self.7, &other.7)?;
{
PartialOrd::__chaining_gt(&self.8, &other.8)?;
{
PartialOrd::__chaining_gt(&self.9, &other.9)?;
{
PartialOrd::__chaining_gt(&self.10, &other.10)?;
{
PartialOrd::__chaining_gt(&self.11, &other.11)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
}
#[inline]
fn __chaining_ge(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T))
-> ControlFlow<bool> {
{
PartialOrd::__chaining_ge(&self.0, &other.0)?;
{
PartialOrd::__chaining_ge(&self.1, &other.1)?;
{
PartialOrd::__chaining_ge(&self.2, &other.2)?;
{
PartialOrd::__chaining_ge(&self.3, &other.3)?;
{
PartialOrd::__chaining_ge(&self.4, &other.4)?;
{
PartialOrd::__chaining_ge(&self.5, &other.5)?;
{
PartialOrd::__chaining_ge(&self.6, &other.6)?;
{
PartialOrd::__chaining_ge(&self.7, &other.7)?;
{
PartialOrd::__chaining_ge(&self.8, &other.8)?;
{
PartialOrd::__chaining_ge(&self.9, &other.9)?;
{
PartialOrd::__chaining_ge(&self.10, &other.10)?;
{
PartialOrd::__chaining_ge(&self.11, &other.11)?;
Continue(())
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
const impl<E: [const] Ord, D: [const] Ord, C: [const] Ord, B: [const] Ord,
A: [const] Ord, Z: [const] Ord, Y: [const] Ord, X: [const] Ord, W: [const]
Ord, V: [const] Ord, U: [const] Ord, T: [const] Ord> Ord for
(E, D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn cmp(&self, other: &(E, D, C, B, A, Z, Y, X, W, V, U, T)) -> Ordering {
match (self.0).cmp(&other.0) {
Equal =>
match (self.1).cmp(&other.1) {
Equal =>
match (self.2).cmp(&other.2) {
Equal =>
match (self.3).cmp(&other.3) {
Equal =>
match (self.4).cmp(&other.4) {
Equal =>
match (self.5).cmp(&other.5) {
Equal =>
match (self.6).cmp(&other.6) {
Equal =>
match (self.7).cmp(&other.7) {
Equal =>
match (self.8).cmp(&other.8) {
Equal =>
match (self.9).cmp(&other.9) {
Equal =>
match (self.10).cmp(&other.10) {
Equal => (self.11).cmp(&other.11),
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
},
ordering => ordering,
}
}
}
#[doc(hidden)]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
const impl<E: [const] Default, D: [const] Default, C: [const] Default,
B: [const] Default, A: [const] Default, Z: [const] Default, Y: [const]
Default, X: [const] Default, W: [const] Default, V: [const] Default,
U: [const] Default, T: [const] Default> Default for
(E, D, C, B, A, Z, Y, X, W, V, U, T) {
#[inline]
fn default() -> (E, D, C, B, A, Z, Y, X, W, V, U, T) {
({ let x: E = Default::default(); x },
{ let x: D = Default::default(); x },
{ let x: C = Default::default(); x },
{ let x: B = Default::default(); x },
{ let x: A = Default::default(); x },
{ let x: Z = Default::default(); x },
{ let x: Y = Default::default(); x },
{ let x: X = Default::default(); x },
{ let x: W = Default::default(); x },
{ let x: V = Default::default(); x },
{ let x: U = Default::default(); x },
{ let x: T = Default::default(); x })
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<[T; 12]> for (T, T, T, T, T, T, T, T, T, T, T, T) {
#[inline]
#[allow(non_snake_case)]
fn from(array: [T; 12]) -> Self {
let [E, D, C, B, A, Z, Y, X, W, V, U, T] = array;
(E, D, C, B, A, Z, Y, X, W, V, U, T)
}
}
#[doc(hidden)]
#[stable(feature = "array_tuple_conv", since = "1.71.0")]
impl<T> From<(T, T, T, T, T, T, T, T, T, T, T, T)> for [T; 12] {
#[inline]
#[allow(non_snake_case)]
fn from(tuple: (T, T, T, T, T, T, T, T, T, T, T, T)) -> Self {
let (E, D, C, B, A, Z, Y, X, W, V, U, T) = tuple;
[E, D, C, B, A, Z, Y, X, W, V, U, T]
}
}
#[doc(hidden)]
#[unstable(feature = "cell_get_cloned", issue = "145329")]
unsafe impl<E: CloneFromCell, D: CloneFromCell, C: CloneFromCell,
B: CloneFromCell, A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell,
X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell,
T: CloneFromCell> CloneFromCell for (E, D, C, B, A, Z, Y, X, W, V, U, T) {
}tuple_impls!(E D C B A Z Y X W V U T);