tuples/gen/
split_parts.rs

1// auto generated code, do not modify
2
3#[doc = "Split into 2 parts"]
4pub trait TupleSplit2Parts {
5    type OutTuple;
6    #[doc = "Split into 2 parts"]
7    fn split_2_parts(self) -> Self::OutTuple;
8}
9impl<T0, T1, T2, T3> TupleSplit2Parts for (T0, T1, T2, T3) {
10    type OutTuple = ((T0, T1), (T2, T3));
11    fn split_2_parts(self) -> Self::OutTuple {
12        ((self.0, self.1), (self.2, self.3))
13    }
14}
15impl<T0, T1, T2, T3, T4> TupleSplit2Parts for (T0, T1, T2, T3, T4) {
16    type OutTuple = ((T0, T1, T2), (T3, T4));
17    fn split_2_parts(self) -> Self::OutTuple {
18        ((self.0, self.1, self.2), (self.3, self.4))
19    }
20}
21impl<T0, T1, T2, T3, T4, T5> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5) {
22    type OutTuple = ((T0, T1, T2), (T3, T4, T5));
23    fn split_2_parts(self) -> Self::OutTuple {
24        ((self.0, self.1, self.2), (self.3, self.4, self.5))
25    }
26}
27impl<T0, T1, T2, T3, T4, T5, T6> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6) {
28    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6));
29    fn split_2_parts(self) -> Self::OutTuple {
30        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6))
31    }
32}
33impl<T0, T1, T2, T3, T4, T5, T6, T7> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7) {
34    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7));
35    fn split_2_parts(self) -> Self::OutTuple {
36        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7))
37    }
38}
39impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8) {
40    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8));
41    fn split_2_parts(self) -> Self::OutTuple {
42        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8))
43    }
44}
45impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) {
46    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9));
47    fn split_2_parts(self) -> Self::OutTuple {
48        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9))
49    }
50}
51impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) {
52    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10));
53    fn split_2_parts(self) -> Self::OutTuple {
54        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10))
55    }
56}
57impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) {
58    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11));
59    fn split_2_parts(self) -> Self::OutTuple {
60        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11))
61    }
62}
63impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) {
64    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12));
65    fn split_2_parts(self) -> Self::OutTuple {
66        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12))
67    }
68}
69impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) {
70    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12, T13));
71    fn split_2_parts(self) -> Self::OutTuple {
72        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12, self.13))
73    }
74}
75impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) {
76    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14));
77    fn split_2_parts(self) -> Self::OutTuple {
78        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14))
79    }
80}
81impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
82    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14, T15));
83    fn split_2_parts(self) -> Self::OutTuple {
84        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15))
85    }
86}
87impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
88    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8), (T9, T10, T11, T12, T13, T14, T15, T16));
89    fn split_2_parts(self) -> Self::OutTuple {
90        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12, self.13, self.14, self.15, self.16))
91    }
92}
93impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
94    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8), (T9, T10, T11, T12, T13, T14, T15, T16, T17));
95    fn split_2_parts(self) -> Self::OutTuple {
96        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17))
97    }
98}
99impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
100    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14, T15, T16, T17, T18));
101    fn split_2_parts(self) -> Self::OutTuple {
102        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18))
103    }
104}
105impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
106    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14, T15, T16, T17, T18, T19));
107    fn split_2_parts(self) -> Self::OutTuple {
108        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19))
109    }
110}
111impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
112    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15, T16, T17, T18, T19, T20));
113    fn split_2_parts(self) -> Self::OutTuple {
114        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20))
115    }
116}
117impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
118    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21));
119    fn split_2_parts(self) -> Self::OutTuple {
120        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21))
121    }
122}
123impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
124    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22));
125    fn split_2_parts(self) -> Self::OutTuple {
126        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22))
127    }
128}
129impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
130    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23));
131    fn split_2_parts(self) -> Self::OutTuple {
132        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23))
133    }
134}
135impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
136    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), (T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24));
137    fn split_2_parts(self) -> Self::OutTuple {
138        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24))
139    }
140}
141impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
142    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), (T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25));
143    fn split_2_parts(self) -> Self::OutTuple {
144        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25))
145    }
146}
147impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
148    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26));
149    fn split_2_parts(self) -> Self::OutTuple {
150        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26))
151    }
152}
153impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
154    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27));
155    fn split_2_parts(self) -> Self::OutTuple {
156        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27))
157    }
158}
159impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
160    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28));
161    fn split_2_parts(self) -> Self::OutTuple {
162        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27, self.28))
163    }
164}
165impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
166    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29));
167    fn split_2_parts(self) -> Self::OutTuple {
168        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27, self.28, self.29))
169    }
170}
171impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
172    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30));
173    fn split_2_parts(self) -> Self::OutTuple {
174        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27, self.28, self.29, self.30))
175    }
176}
177impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit2Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
178    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31));
179    fn split_2_parts(self) -> Self::OutTuple {
180        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27, self.28, self.29, self.30, self.31))
181    }
182}
183#[doc = "Split into 3 parts"]
184pub trait TupleSplit3Parts {
185    type OutTuple;
186    #[doc = "Split into 3 parts"]
187    fn split_3_parts(self) -> Self::OutTuple;
188}
189impl<T0, T1, T2, T3, T4, T5> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5) {
190    type OutTuple = ((T0, T1), (T2, T3), (T4, T5));
191    fn split_3_parts(self) -> Self::OutTuple {
192        ((self.0, self.1), (self.2, self.3), (self.4, self.5))
193    }
194}
195impl<T0, T1, T2, T3, T4, T5, T6> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6) {
196    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6));
197    fn split_3_parts(self) -> Self::OutTuple {
198        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6))
199    }
200}
201impl<T0, T1, T2, T3, T4, T5, T6, T7> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7) {
202    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7));
203    fn split_3_parts(self) -> Self::OutTuple {
204        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7))
205    }
206}
207impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8) {
208    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8));
209    fn split_3_parts(self) -> Self::OutTuple {
210        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8))
211    }
212}
213impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) {
214    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9));
215    fn split_3_parts(self) -> Self::OutTuple {
216        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9))
217    }
218}
219impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) {
220    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10));
221    fn split_3_parts(self) -> Self::OutTuple {
222        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10))
223    }
224}
225impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) {
226    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11));
227    fn split_3_parts(self) -> Self::OutTuple {
228        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11))
229    }
230}
231impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) {
232    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8), (T9, T10, T11, T12));
233    fn split_3_parts(self) -> Self::OutTuple {
234        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12))
235    }
236}
237impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) {
238    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13));
239    fn split_3_parts(self) -> Self::OutTuple {
240        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13))
241    }
242}
243impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) {
244    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14));
245    fn split_3_parts(self) -> Self::OutTuple {
246        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14))
247    }
248}
249impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
250    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15));
251    fn split_3_parts(self) -> Self::OutTuple {
252        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15))
253    }
254}
255impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
256    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16));
257    fn split_3_parts(self) -> Self::OutTuple {
258        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16))
259    }
260}
261impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
262    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17));
263    fn split_3_parts(self) -> Self::OutTuple {
264        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17))
265    }
266}
267impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
268    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12), (T13, T14, T15, T16, T17, T18));
269    fn split_3_parts(self) -> Self::OutTuple {
270        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16, self.17, self.18))
271    }
272}
273impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
274    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19));
275    fn split_3_parts(self) -> Self::OutTuple {
276        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19))
277    }
278}
279impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
280    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19, T20));
281    fn split_3_parts(self) -> Self::OutTuple {
282        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19, self.20))
283    }
284}
285impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
286    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19, T20, T21));
287    fn split_3_parts(self) -> Self::OutTuple {
288        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19, self.20, self.21))
289    }
290}
291impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
292    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20, T21, T22));
293    fn split_3_parts(self) -> Self::OutTuple {
294        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20, self.21, self.22))
295    }
296}
297impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
298    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20, T21, T22, T23));
299    fn split_3_parts(self) -> Self::OutTuple {
300        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23))
301    }
302}
303impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
304    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8), (T9, T10, T11, T12, T13, T14, T15, T16), (T17, T18, T19, T20, T21, T22, T23, T24));
305    fn split_3_parts(self) -> Self::OutTuple {
306        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12, self.13, self.14, self.15, self.16), (self.17, self.18, self.19, self.20, self.21, self.22, self.23, self.24))
307    }
308}
309impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
310    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8), (T9, T10, T11, T12, T13, T14, T15, T16, T17), (T18, T19, T20, T21, T22, T23, T24, T25));
311    fn split_3_parts(self) -> Self::OutTuple {
312        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25))
313    }
314}
315impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
316    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8), (T9, T10, T11, T12, T13, T14, T15, T16, T17), (T18, T19, T20, T21, T22, T23, T24, T25, T26));
317    fn split_3_parts(self) -> Self::OutTuple {
318        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26))
319    }
320}
321impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
322    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14, T15, T16, T17, T18), (T19, T20, T21, T22, T23, T24, T25, T26, T27));
323    fn split_3_parts(self) -> Self::OutTuple {
324        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18), (self.19, self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27))
325    }
326}
327impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
328    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14, T15, T16, T17, T18, T19), (T20, T21, T22, T23, T24, T25, T26, T27, T28));
329    fn split_3_parts(self) -> Self::OutTuple {
330        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27, self.28))
331    }
332}
333impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
334    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14, T15, T16, T17, T18, T19), (T20, T21, T22, T23, T24, T25, T26, T27, T28, T29));
335    fn split_3_parts(self) -> Self::OutTuple {
336        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23, self.24, self.25, self.26, self.27, self.28, self.29))
337    }
338}
339impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
340    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15, T16, T17, T18, T19, T20), (T21, T22, T23, T24, T25, T26, T27, T28, T29, T30));
341    fn split_3_parts(self) -> Self::OutTuple {
342        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20), (self.21, self.22, self.23, self.24, self.25, self.26, self.27, self.28, self.29, self.30))
343    }
344}
345impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit3Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
346    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21), (T22, T23, T24, T25, T26, T27, T28, T29, T30, T31));
347    fn split_3_parts(self) -> Self::OutTuple {
348        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15, self.16, self.17, self.18, self.19, self.20, self.21), (self.22, self.23, self.24, self.25, self.26, self.27, self.28, self.29, self.30, self.31))
349    }
350}
351#[doc = "Split into 4 parts"]
352pub trait TupleSplit4Parts {
353    type OutTuple;
354    #[doc = "Split into 4 parts"]
355    fn split_4_parts(self) -> Self::OutTuple;
356}
357impl<T0, T1, T2, T3, T4, T5, T6, T7> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7) {
358    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7));
359    fn split_4_parts(self) -> Self::OutTuple {
360        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7))
361    }
362}
363impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8) {
364    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8));
365    fn split_4_parts(self) -> Self::OutTuple {
366        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8))
367    }
368}
369impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) {
370    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9));
371    fn split_4_parts(self) -> Self::OutTuple {
372        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9))
373    }
374}
375impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) {
376    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10));
377    fn split_4_parts(self) -> Self::OutTuple {
378        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10))
379    }
380}
381impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) {
382    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11));
383    fn split_4_parts(self) -> Self::OutTuple {
384        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11))
385    }
386}
387impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) {
388    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9), (T10, T11, T12));
389    fn split_4_parts(self) -> Self::OutTuple {
390        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9), (self.10, self.11, self.12))
391    }
392}
393impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) {
394    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10), (T11, T12, T13));
395    fn split_4_parts(self) -> Self::OutTuple {
396        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10), (self.11, self.12, self.13))
397    }
398}
399impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) {
400    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14));
401    fn split_4_parts(self) -> Self::OutTuple {
402        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14))
403    }
404}
405impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
406    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15));
407    fn split_4_parts(self) -> Self::OutTuple {
408        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15))
409    }
410}
411impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
412    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8), (T9, T10, T11, T12), (T13, T14, T15, T16));
413    fn split_4_parts(self) -> Self::OutTuple {
414        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16))
415    }
416}
417impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
418    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13), (T14, T15, T16, T17));
419    fn split_4_parts(self) -> Self::OutTuple {
420        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17))
421    }
422}
423impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
424    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18));
425    fn split_4_parts(self) -> Self::OutTuple {
426        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18))
427    }
428}
429impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
430    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19));
431    fn split_4_parts(self) -> Self::OutTuple {
432        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19))
433    }
434}
435impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
436    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20));
437    fn split_4_parts(self) -> Self::OutTuple {
438        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20))
439    }
440}
441impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
442    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16), (T17, T18, T19, T20, T21));
443    fn split_4_parts(self) -> Self::OutTuple {
444        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16), (self.17, self.18, self.19, self.20, self.21))
445    }
446}
447impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
448    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17), (T18, T19, T20, T21, T22));
449    fn split_4_parts(self) -> Self::OutTuple {
450        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21, self.22))
451    }
452}
453impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
454    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17), (T18, T19, T20, T21, T22, T23));
455    fn split_4_parts(self) -> Self::OutTuple {
456        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21, self.22, self.23))
457    }
458}
459impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
460    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12), (T13, T14, T15, T16, T17, T18), (T19, T20, T21, T22, T23, T24));
461    fn split_4_parts(self) -> Self::OutTuple {
462        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16, self.17, self.18), (self.19, self.20, self.21, self.22, self.23, self.24))
463    }
464}
465impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
466    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19), (T20, T21, T22, T23, T24, T25));
467    fn split_4_parts(self) -> Self::OutTuple {
468        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23, self.24, self.25))
469    }
470}
471impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
472    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19, T20), (T21, T22, T23, T24, T25, T26));
473    fn split_4_parts(self) -> Self::OutTuple {
474        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19, self.20), (self.21, self.22, self.23, self.24, self.25, self.26))
475    }
476}
477impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
478    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19, T20), (T21, T22, T23, T24, T25, T26, T27));
479    fn split_4_parts(self) -> Self::OutTuple {
480        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19, self.20), (self.21, self.22, self.23, self.24, self.25, self.26, self.27))
481    }
482}
483impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
484    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19, T20, T21), (T22, T23, T24, T25, T26, T27, T28));
485    fn split_4_parts(self) -> Self::OutTuple {
486        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19, self.20, self.21), (self.22, self.23, self.24, self.25, self.26, self.27, self.28))
487    }
488}
489impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
490    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20, T21, T22), (T23, T24, T25, T26, T27, T28, T29));
491    fn split_4_parts(self) -> Self::OutTuple {
492        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20, self.21, self.22), (self.23, self.24, self.25, self.26, self.27, self.28, self.29))
493    }
494}
495impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
496    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20, T21, T22, T23), (T24, T25, T26, T27, T28, T29, T30));
497    fn split_4_parts(self) -> Self::OutTuple {
498        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27, self.28, self.29, self.30))
499    }
500}
501impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit4Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
502    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6, T7), (T8, T9, T10, T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20, T21, T22, T23), (T24, T25, T26, T27, T28, T29, T30, T31));
503    fn split_4_parts(self) -> Self::OutTuple {
504        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27, self.28, self.29, self.30, self.31))
505    }
506}
507#[doc = "Split into 5 parts"]
508pub trait TupleSplit5Parts {
509    type OutTuple;
510    #[doc = "Split into 5 parts"]
511    fn split_5_parts(self) -> Self::OutTuple;
512}
513impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) {
514    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9));
515    fn split_5_parts(self) -> Self::OutTuple {
516        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9))
517    }
518}
519impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) {
520    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10));
521    fn split_5_parts(self) -> Self::OutTuple {
522        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10))
523    }
524}
525impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) {
526    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11));
527    fn split_5_parts(self) -> Self::OutTuple {
528        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11))
529    }
530}
531impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) {
532    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12));
533    fn split_5_parts(self) -> Self::OutTuple {
534        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12))
535    }
536}
537impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) {
538    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13));
539    fn split_5_parts(self) -> Self::OutTuple {
540        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13))
541    }
542}
543impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) {
544    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14));
545    fn split_5_parts(self) -> Self::OutTuple {
546        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14))
547    }
548}
549impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
550    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9), (T10, T11, T12), (T13, T14, T15));
551    fn split_5_parts(self) -> Self::OutTuple {
552        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9), (self.10, self.11, self.12), (self.13, self.14, self.15))
553    }
554}
555impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
556    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10), (T11, T12, T13), (T14, T15, T16));
557    fn split_5_parts(self) -> Self::OutTuple {
558        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10), (self.11, self.12, self.13), (self.14, self.15, self.16))
559    }
560}
561impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
562    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14), (T15, T16, T17));
563    fn split_5_parts(self) -> Self::OutTuple {
564        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17))
565    }
566}
567impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
568    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18));
569    fn split_5_parts(self) -> Self::OutTuple {
570        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18))
571    }
572}
573impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
574    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19));
575    fn split_5_parts(self) -> Self::OutTuple {
576        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19))
577    }
578}
579impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
580    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8), (T9, T10, T11, T12), (T13, T14, T15, T16), (T17, T18, T19, T20));
581    fn split_5_parts(self) -> Self::OutTuple {
582        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16), (self.17, self.18, self.19, self.20))
583    }
584}
585impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
586    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13), (T14, T15, T16, T17), (T18, T19, T20, T21));
587    fn split_5_parts(self) -> Self::OutTuple {
588        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21))
589    }
590}
591impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
592    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18), (T19, T20, T21, T22));
593    fn split_5_parts(self) -> Self::OutTuple {
594        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18), (self.19, self.20, self.21, self.22))
595    }
596}
597impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
598    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19), (T20, T21, T22, T23));
599    fn split_5_parts(self) -> Self::OutTuple {
600        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23))
601    }
602}
603impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
604    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19), (T20, T21, T22, T23, T24));
605    fn split_5_parts(self) -> Self::OutTuple {
606        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23, self.24))
607    }
608}
609impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
610    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20), (T21, T22, T23, T24, T25));
611    fn split_5_parts(self) -> Self::OutTuple {
612        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20), (self.21, self.22, self.23, self.24, self.25))
613    }
614}
615impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
616    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16), (T17, T18, T19, T20, T21), (T22, T23, T24, T25, T26));
617    fn split_5_parts(self) -> Self::OutTuple {
618        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16), (self.17, self.18, self.19, self.20, self.21), (self.22, self.23, self.24, self.25, self.26))
619    }
620}
621impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
622    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17), (T18, T19, T20, T21, T22), (T23, T24, T25, T26, T27));
623    fn split_5_parts(self) -> Self::OutTuple {
624        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21, self.22), (self.23, self.24, self.25, self.26, self.27))
625    }
626}
627impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
628    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17), (T18, T19, T20, T21, T22, T23), (T24, T25, T26, T27, T28));
629    fn split_5_parts(self) -> Self::OutTuple {
630        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27, self.28))
631    }
632}
633impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
634    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16, T17), (T18, T19, T20, T21, T22, T23), (T24, T25, T26, T27, T28, T29));
635    fn split_5_parts(self) -> Self::OutTuple {
636        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27, self.28, self.29))
637    }
638}
639impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
640    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12), (T13, T14, T15, T16, T17, T18), (T19, T20, T21, T22, T23, T24), (T25, T26, T27, T28, T29, T30));
641    fn split_5_parts(self) -> Self::OutTuple {
642        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16, self.17, self.18), (self.19, self.20, self.21, self.22, self.23, self.24), (self.25, self.26, self.27, self.28, self.29, self.30))
643    }
644}
645impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit5Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
646    type OutTuple = ((T0, T1, T2, T3, T4, T5, T6), (T7, T8, T9, T10, T11, T12, T13), (T14, T15, T16, T17, T18, T19), (T20, T21, T22, T23, T24, T25), (T26, T27, T28, T29, T30, T31));
647    fn split_5_parts(self) -> Self::OutTuple {
648        ((self.0, self.1, self.2, self.3, self.4, self.5, self.6), (self.7, self.8, self.9, self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23, self.24, self.25), (self.26, self.27, self.28, self.29, self.30, self.31))
649    }
650}
651#[doc = "Split into 6 parts"]
652pub trait TupleSplit6Parts {
653    type OutTuple;
654    #[doc = "Split into 6 parts"]
655    fn split_6_parts(self) -> Self::OutTuple;
656}
657impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) {
658    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11));
659    fn split_6_parts(self) -> Self::OutTuple {
660        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11))
661    }
662}
663impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) {
664    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12));
665    fn split_6_parts(self) -> Self::OutTuple {
666        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12))
667    }
668}
669impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) {
670    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13));
671    fn split_6_parts(self) -> Self::OutTuple {
672        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13))
673    }
674}
675impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) {
676    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14));
677    fn split_6_parts(self) -> Self::OutTuple {
678        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14))
679    }
680}
681impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
682    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15));
683    fn split_6_parts(self) -> Self::OutTuple {
684        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15))
685    }
686}
687impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
688    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16));
689    fn split_6_parts(self) -> Self::OutTuple {
690        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16))
691    }
692}
693impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
694    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17));
695    fn split_6_parts(self) -> Self::OutTuple {
696        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17))
697    }
698}
699impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
700    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9), (T10, T11, T12), (T13, T14, T15), (T16, T17, T18));
701    fn split_6_parts(self) -> Self::OutTuple {
702        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9), (self.10, self.11, self.12), (self.13, self.14, self.15), (self.16, self.17, self.18))
703    }
704}
705impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
706    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10), (T11, T12, T13), (T14, T15, T16), (T17, T18, T19));
707    fn split_6_parts(self) -> Self::OutTuple {
708        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10), (self.11, self.12, self.13), (self.14, self.15, self.16), (self.17, self.18, self.19))
709    }
710}
711impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
712    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20));
713    fn split_6_parts(self) -> Self::OutTuple {
714        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20))
715    }
716}
717impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
718    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18), (T19, T20, T21));
719    fn split_6_parts(self) -> Self::OutTuple {
720        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21))
721    }
722}
723impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
724    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22));
725    fn split_6_parts(self) -> Self::OutTuple {
726        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22))
727    }
728}
729impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
730    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22, T23));
731    fn split_6_parts(self) -> Self::OutTuple {
732        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23))
733    }
734}
735impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
736    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8), (T9, T10, T11, T12), (T13, T14, T15, T16), (T17, T18, T19, T20), (T21, T22, T23, T24));
737    fn split_6_parts(self) -> Self::OutTuple {
738        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16), (self.17, self.18, self.19, self.20), (self.21, self.22, self.23, self.24))
739    }
740}
741impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
742    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13), (T14, T15, T16, T17), (T18, T19, T20, T21), (T22, T23, T24, T25));
743    fn split_6_parts(self) -> Self::OutTuple {
744        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21), (self.22, self.23, self.24, self.25))
745    }
746}
747impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
748    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18), (T19, T20, T21, T22), (T23, T24, T25, T26));
749    fn split_6_parts(self) -> Self::OutTuple {
750        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18), (self.19, self.20, self.21, self.22), (self.23, self.24, self.25, self.26))
751    }
752}
753impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
754    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19), (T20, T21, T22, T23), (T24, T25, T26, T27));
755    fn split_6_parts(self) -> Self::OutTuple {
756        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27))
757    }
758}
759impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
760    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19), (T20, T21, T22, T23, T24), (T25, T26, T27, T28));
761    fn split_6_parts(self) -> Self::OutTuple {
762        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23, self.24), (self.25, self.26, self.27, self.28))
763    }
764}
765impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
766    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19), (T20, T21, T22, T23, T24), (T25, T26, T27, T28, T29));
767    fn split_6_parts(self) -> Self::OutTuple {
768        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23, self.24), (self.25, self.26, self.27, self.28, self.29))
769    }
770}
771impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
772    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10), (T11, T12, T13, T14, T15), (T16, T17, T18, T19, T20), (T21, T22, T23, T24, T25), (T26, T27, T28, T29, T30));
773    fn split_6_parts(self) -> Self::OutTuple {
774        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10), (self.11, self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19, self.20), (self.21, self.22, self.23, self.24, self.25), (self.26, self.27, self.28, self.29, self.30))
775    }
776}
777impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit6Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
778    type OutTuple = ((T0, T1, T2, T3, T4, T5), (T6, T7, T8, T9, T10, T11), (T12, T13, T14, T15, T16), (T17, T18, T19, T20, T21), (T22, T23, T24, T25, T26), (T27, T28, T29, T30, T31));
779    fn split_6_parts(self) -> Self::OutTuple {
780        ((self.0, self.1, self.2, self.3, self.4, self.5), (self.6, self.7, self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15, self.16), (self.17, self.18, self.19, self.20, self.21), (self.22, self.23, self.24, self.25, self.26), (self.27, self.28, self.29, self.30, self.31))
781    }
782}
783#[doc = "Split into 7 parts"]
784pub trait TupleSplit7Parts {
785    type OutTuple;
786    #[doc = "Split into 7 parts"]
787    fn split_7_parts(self) -> Self::OutTuple;
788}
789impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) {
790    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13));
791    fn split_7_parts(self) -> Self::OutTuple {
792        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13))
793    }
794}
795impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) {
796    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14));
797    fn split_7_parts(self) -> Self::OutTuple {
798        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14))
799    }
800}
801impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
802    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15));
803    fn split_7_parts(self) -> Self::OutTuple {
804        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15))
805    }
806}
807impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
808    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16));
809    fn split_7_parts(self) -> Self::OutTuple {
810        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16))
811    }
812}
813impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
814    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17));
815    fn split_7_parts(self) -> Self::OutTuple {
816        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17))
817    }
818}
819impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
820    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16), (T17, T18));
821    fn split_7_parts(self) -> Self::OutTuple {
822        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16), (self.17, self.18))
823    }
824}
825impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
826    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19));
827    fn split_7_parts(self) -> Self::OutTuple {
828        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19))
829    }
830}
831impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
832    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20));
833    fn split_7_parts(self) -> Self::OutTuple {
834        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20))
835    }
836}
837impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
838    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9), (T10, T11, T12), (T13, T14, T15), (T16, T17, T18), (T19, T20, T21));
839    fn split_7_parts(self) -> Self::OutTuple {
840        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9), (self.10, self.11, self.12), (self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21))
841    }
842}
843impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
844    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10), (T11, T12, T13), (T14, T15, T16), (T17, T18, T19), (T20, T21, T22));
845    fn split_7_parts(self) -> Self::OutTuple {
846        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10), (self.11, self.12, self.13), (self.14, self.15, self.16), (self.17, self.18, self.19), (self.20, self.21, self.22))
847    }
848}
849impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
850    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23));
851    fn split_7_parts(self) -> Self::OutTuple {
852        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23))
853    }
854}
855impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
856    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18), (T19, T20, T21), (T22, T23, T24));
857    fn split_7_parts(self) -> Self::OutTuple {
858        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21), (self.22, self.23, self.24))
859    }
860}
861impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
862    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22), (T23, T24, T25));
863    fn split_7_parts(self) -> Self::OutTuple {
864        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22), (self.23, self.24, self.25))
865    }
866}
867impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
868    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22, T23), (T24, T25, T26));
869    fn split_7_parts(self) -> Self::OutTuple {
870        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23), (self.24, self.25, self.26))
871    }
872}
873impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
874    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22, T23), (T24, T25, T26, T27));
875    fn split_7_parts(self) -> Self::OutTuple {
876        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27))
877    }
878}
879impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
880    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8), (T9, T10, T11, T12), (T13, T14, T15, T16), (T17, T18, T19, T20), (T21, T22, T23, T24), (T25, T26, T27, T28));
881    fn split_7_parts(self) -> Self::OutTuple {
882        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8), (self.9, self.10, self.11, self.12), (self.13, self.14, self.15, self.16), (self.17, self.18, self.19, self.20), (self.21, self.22, self.23, self.24), (self.25, self.26, self.27, self.28))
883    }
884}
885impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
886    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13), (T14, T15, T16, T17), (T18, T19, T20, T21), (T22, T23, T24, T25), (T26, T27, T28, T29));
887    fn split_7_parts(self) -> Self::OutTuple {
888        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13), (self.14, self.15, self.16, self.17), (self.18, self.19, self.20, self.21), (self.22, self.23, self.24, self.25), (self.26, self.27, self.28, self.29))
889    }
890}
891impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
892    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18), (T19, T20, T21, T22), (T23, T24, T25, T26), (T27, T28, T29, T30));
893    fn split_7_parts(self) -> Self::OutTuple {
894        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18), (self.19, self.20, self.21, self.22), (self.23, self.24, self.25, self.26), (self.27, self.28, self.29, self.30))
895    }
896}
897impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit7Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
898    type OutTuple = ((T0, T1, T2, T3, T4), (T5, T6, T7, T8, T9), (T10, T11, T12, T13, T14), (T15, T16, T17, T18, T19), (T20, T21, T22, T23), (T24, T25, T26, T27), (T28, T29, T30, T31));
899    fn split_7_parts(self) -> Self::OutTuple {
900        ((self.0, self.1, self.2, self.3, self.4), (self.5, self.6, self.7, self.8, self.9), (self.10, self.11, self.12, self.13, self.14), (self.15, self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27), (self.28, self.29, self.30, self.31))
901    }
902}
903#[doc = "Split into 8 parts"]
904pub trait TupleSplit8Parts {
905    type OutTuple;
906    #[doc = "Split into 8 parts"]
907    fn split_8_parts(self) -> Self::OutTuple;
908}
909impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
910    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15));
911    fn split_8_parts(self) -> Self::OutTuple {
912        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15))
913    }
914}
915impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
916    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16));
917    fn split_8_parts(self) -> Self::OutTuple {
918        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16))
919    }
920}
921impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
922    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17));
923    fn split_8_parts(self) -> Self::OutTuple {
924        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17))
925    }
926}
927impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
928    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18));
929    fn split_8_parts(self) -> Self::OutTuple {
930        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18))
931    }
932}
933impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
934    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19));
935    fn split_8_parts(self) -> Self::OutTuple {
936        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19))
937    }
938}
939impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
940    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16), (T17, T18), (T19, T20));
941    fn split_8_parts(self) -> Self::OutTuple {
942        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20))
943    }
944}
945impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
946    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19), (T20, T21));
947    fn split_8_parts(self) -> Self::OutTuple {
948        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19), (self.20, self.21))
949    }
950}
951impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
952    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22));
953    fn split_8_parts(self) -> Self::OutTuple {
954        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22))
955    }
956}
957impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
958    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23));
959    fn split_8_parts(self) -> Self::OutTuple {
960        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23))
961    }
962}
963impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
964    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9), (T10, T11, T12), (T13, T14, T15), (T16, T17, T18), (T19, T20, T21), (T22, T23, T24));
965    fn split_8_parts(self) -> Self::OutTuple {
966        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9), (self.10, self.11, self.12), (self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21), (self.22, self.23, self.24))
967    }
968}
969impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
970    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10), (T11, T12, T13), (T14, T15, T16), (T17, T18, T19), (T20, T21, T22), (T23, T24, T25));
971    fn split_8_parts(self) -> Self::OutTuple {
972        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10), (self.11, self.12, self.13), (self.14, self.15, self.16), (self.17, self.18, self.19), (self.20, self.21, self.22), (self.23, self.24, self.25))
973    }
974}
975impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
976    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25, T26));
977    fn split_8_parts(self) -> Self::OutTuple {
978        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25, self.26))
979    }
980}
981impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
982    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18), (T19, T20, T21), (T22, T23, T24), (T25, T26, T27));
983    fn split_8_parts(self) -> Self::OutTuple {
984        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21), (self.22, self.23, self.24), (self.25, self.26, self.27))
985    }
986}
987impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
988    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22), (T23, T24, T25), (T26, T27, T28));
989    fn split_8_parts(self) -> Self::OutTuple {
990        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22), (self.23, self.24, self.25), (self.26, self.27, self.28))
991    }
992}
993impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
994    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22, T23), (T24, T25, T26), (T27, T28, T29));
995    fn split_8_parts(self) -> Self::OutTuple {
996        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23), (self.24, self.25, self.26), (self.27, self.28, self.29))
997    }
998}
999impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1000    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22, T23), (T24, T25, T26, T27), (T28, T29, T30));
1001    fn split_8_parts(self) -> Self::OutTuple {
1002        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27), (self.28, self.29, self.30))
1003    }
1004}
1005impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit8Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1006    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22, T23), (T24, T25, T26, T27), (T28, T29, T30, T31));
1007    fn split_8_parts(self) -> Self::OutTuple {
1008        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22, self.23), (self.24, self.25, self.26, self.27), (self.28, self.29, self.30, self.31))
1009    }
1010}
1011#[doc = "Split into 9 parts"]
1012pub trait TupleSplit9Parts {
1013    type OutTuple;
1014    #[doc = "Split into 9 parts"]
1015    fn split_9_parts(self) -> Self::OutTuple;
1016}
1017impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
1018    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17));
1019    fn split_9_parts(self) -> Self::OutTuple {
1020        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17))
1021    }
1022}
1023impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
1024    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18));
1025    fn split_9_parts(self) -> Self::OutTuple {
1026        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18))
1027    }
1028}
1029impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
1030    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19));
1031    fn split_9_parts(self) -> Self::OutTuple {
1032        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19))
1033    }
1034}
1035impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
1036    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20));
1037    fn split_9_parts(self) -> Self::OutTuple {
1038        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20))
1039    }
1040}
1041impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
1042    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21));
1043    fn split_9_parts(self) -> Self::OutTuple {
1044        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21))
1045    }
1046}
1047impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
1048    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22));
1049    fn split_9_parts(self) -> Self::OutTuple {
1050        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22))
1051    }
1052}
1053impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
1054    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19), (T20, T21), (T22, T23));
1055    fn split_9_parts(self) -> Self::OutTuple {
1056        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23))
1057    }
1058}
1059impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
1060    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22), (T23, T24));
1061    fn split_9_parts(self) -> Self::OutTuple {
1062        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22), (self.23, self.24))
1063    }
1064}
1065impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
1066    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25));
1067    fn split_9_parts(self) -> Self::OutTuple {
1068        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25))
1069    }
1070}
1071impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
1072    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25, T26));
1073    fn split_9_parts(self) -> Self::OutTuple {
1074        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25, self.26))
1075    }
1076}
1077impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
1078    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9), (T10, T11, T12), (T13, T14, T15), (T16, T17, T18), (T19, T20, T21), (T22, T23, T24), (T25, T26, T27));
1079    fn split_9_parts(self) -> Self::OutTuple {
1080        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9), (self.10, self.11, self.12), (self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21), (self.22, self.23, self.24), (self.25, self.26, self.27))
1081    }
1082}
1083impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
1084    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10), (T11, T12, T13), (T14, T15, T16), (T17, T18, T19), (T20, T21, T22), (T23, T24, T25), (T26, T27, T28));
1085    fn split_9_parts(self) -> Self::OutTuple {
1086        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10), (self.11, self.12, self.13), (self.14, self.15, self.16), (self.17, self.18, self.19), (self.20, self.21, self.22), (self.23, self.24, self.25), (self.26, self.27, self.28))
1087    }
1088}
1089impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
1090    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25, T26), (T27, T28, T29));
1091    fn split_9_parts(self) -> Self::OutTuple {
1092        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25, self.26), (self.27, self.28, self.29))
1093    }
1094}
1095impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1096    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18), (T19, T20, T21), (T22, T23, T24), (T25, T26, T27), (T28, T29, T30));
1097    fn split_9_parts(self) -> Self::OutTuple {
1098        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21), (self.22, self.23, self.24), (self.25, self.26, self.27), (self.28, self.29, self.30))
1099    }
1100}
1101impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit9Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1102    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10, T11), (T12, T13, T14, T15), (T16, T17, T18, T19), (T20, T21, T22), (T23, T24, T25), (T26, T27, T28), (T29, T30, T31));
1103    fn split_9_parts(self) -> Self::OutTuple {
1104        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10, self.11), (self.12, self.13, self.14, self.15), (self.16, self.17, self.18, self.19), (self.20, self.21, self.22), (self.23, self.24, self.25), (self.26, self.27, self.28), (self.29, self.30, self.31))
1105    }
1106}
1107#[doc = "Split into 10 parts"]
1108pub trait TupleSplit10Parts {
1109    type OutTuple;
1110    #[doc = "Split into 10 parts"]
1111    fn split_10_parts(self) -> Self::OutTuple;
1112}
1113impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
1114    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19));
1115    fn split_10_parts(self) -> Self::OutTuple {
1116        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19))
1117    }
1118}
1119impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
1120    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20));
1121    fn split_10_parts(self) -> Self::OutTuple {
1122        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20))
1123    }
1124}
1125impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
1126    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21));
1127    fn split_10_parts(self) -> Self::OutTuple {
1128        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21))
1129    }
1130}
1131impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
1132    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22));
1133    fn split_10_parts(self) -> Self::OutTuple {
1134        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22))
1135    }
1136}
1137impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
1138    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23));
1139    fn split_10_parts(self) -> Self::OutTuple {
1140        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23))
1141    }
1142}
1143impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
1144    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24));
1145    fn split_10_parts(self) -> Self::OutTuple {
1146        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24))
1147    }
1148}
1149impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
1150    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25));
1151    fn split_10_parts(self) -> Self::OutTuple {
1152        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25))
1153    }
1154}
1155impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
1156    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22), (T23, T24), (T25, T26));
1157    fn split_10_parts(self) -> Self::OutTuple {
1158        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26))
1159    }
1160}
1161impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
1162    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25), (T26, T27));
1163    fn split_10_parts(self) -> Self::OutTuple {
1164        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25), (self.26, self.27))
1165    }
1166}
1167impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
1168    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25, T26), (T27, T28));
1169    fn split_10_parts(self) -> Self::OutTuple {
1170        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25, self.26), (self.27, self.28))
1171    }
1172}
1173impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
1174    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25, T26), (T27, T28, T29));
1175    fn split_10_parts(self) -> Self::OutTuple {
1176        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25, self.26), (self.27, self.28, self.29))
1177    }
1178}
1179impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1180    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6), (T7, T8, T9), (T10, T11, T12), (T13, T14, T15), (T16, T17, T18), (T19, T20, T21), (T22, T23, T24), (T25, T26, T27), (T28, T29, T30));
1181    fn split_10_parts(self) -> Self::OutTuple {
1182        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6), (self.7, self.8, self.9), (self.10, self.11, self.12), (self.13, self.14, self.15), (self.16, self.17, self.18), (self.19, self.20, self.21), (self.22, self.23, self.24), (self.25, self.26, self.27), (self.28, self.29, self.30))
1183    }
1184}
1185impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit10Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1186    type OutTuple = ((T0, T1, T2, T3), (T4, T5, T6, T7), (T8, T9, T10), (T11, T12, T13), (T14, T15, T16), (T17, T18, T19), (T20, T21, T22), (T23, T24, T25), (T26, T27, T28), (T29, T30, T31));
1187    fn split_10_parts(self) -> Self::OutTuple {
1188        ((self.0, self.1, self.2, self.3), (self.4, self.5, self.6, self.7), (self.8, self.9, self.10), (self.11, self.12, self.13), (self.14, self.15, self.16), (self.17, self.18, self.19), (self.20, self.21, self.22), (self.23, self.24, self.25), (self.26, self.27, self.28), (self.29, self.30, self.31))
1189    }
1190}
1191#[doc = "Split into 11 parts"]
1192pub trait TupleSplit11Parts {
1193    type OutTuple;
1194    #[doc = "Split into 11 parts"]
1195    fn split_11_parts(self) -> Self::OutTuple;
1196}
1197impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
1198    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21));
1199    fn split_11_parts(self) -> Self::OutTuple {
1200        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21))
1201    }
1202}
1203impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
1204    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22));
1205    fn split_11_parts(self) -> Self::OutTuple {
1206        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22))
1207    }
1208}
1209impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
1210    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23));
1211    fn split_11_parts(self) -> Self::OutTuple {
1212        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23))
1213    }
1214}
1215impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
1216    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24));
1217    fn split_11_parts(self) -> Self::OutTuple {
1218        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24))
1219    }
1220}
1221impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
1222    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25));
1223    fn split_11_parts(self) -> Self::OutTuple {
1224        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25))
1225    }
1226}
1227impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
1228    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26));
1229    fn split_11_parts(self) -> Self::OutTuple {
1230        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26))
1231    }
1232}
1233impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
1234    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27));
1235    fn split_11_parts(self) -> Self::OutTuple {
1236        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27))
1237    }
1238}
1239impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
1240    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28));
1241    fn split_11_parts(self) -> Self::OutTuple {
1242        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28))
1243    }
1244}
1245impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
1246    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25), (T26, T27), (T28, T29));
1247    fn split_11_parts(self) -> Self::OutTuple {
1248        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29))
1249    }
1250}
1251impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1252    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25, T26), (T27, T28), (T29, T30));
1253    fn split_11_parts(self) -> Self::OutTuple {
1254        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25, self.26), (self.27, self.28), (self.29, self.30))
1255    }
1256}
1257impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit11Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1258    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25, T26), (T27, T28, T29), (T30, T31));
1259    fn split_11_parts(self) -> Self::OutTuple {
1260        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25, self.26), (self.27, self.28, self.29), (self.30, self.31))
1261    }
1262}
1263#[doc = "Split into 12 parts"]
1264pub trait TupleSplit12Parts {
1265    type OutTuple;
1266    #[doc = "Split into 12 parts"]
1267    fn split_12_parts(self) -> Self::OutTuple;
1268}
1269impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
1270    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23));
1271    fn split_12_parts(self) -> Self::OutTuple {
1272        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23))
1273    }
1274}
1275impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
1276    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24));
1277    fn split_12_parts(self) -> Self::OutTuple {
1278        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24))
1279    }
1280}
1281impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
1282    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25));
1283    fn split_12_parts(self) -> Self::OutTuple {
1284        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25))
1285    }
1286}
1287impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
1288    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26));
1289    fn split_12_parts(self) -> Self::OutTuple {
1290        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26))
1291    }
1292}
1293impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
1294    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27));
1295    fn split_12_parts(self) -> Self::OutTuple {
1296        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27))
1297    }
1298}
1299impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
1300    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28));
1301    fn split_12_parts(self) -> Self::OutTuple {
1302        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28))
1303    }
1304}
1305impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
1306    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27), (T28, T29));
1307    fn split_12_parts(self) -> Self::OutTuple {
1308        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29))
1309    }
1310}
1311impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1312    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28), (T29, T30));
1313    fn split_12_parts(self) -> Self::OutTuple {
1314        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28), (self.29, self.30))
1315    }
1316}
1317impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit12Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1318    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19, T20), (T21, T22, T23), (T24, T25), (T26, T27), (T28, T29), (T30, T31));
1319    fn split_12_parts(self) -> Self::OutTuple {
1320        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19, self.20), (self.21, self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29), (self.30, self.31))
1321    }
1322}
1323#[doc = "Split into 13 parts"]
1324pub trait TupleSplit13Parts {
1325    type OutTuple;
1326    #[doc = "Split into 13 parts"]
1327    fn split_13_parts(self) -> Self::OutTuple;
1328}
1329impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TupleSplit13Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
1330    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25));
1331    fn split_13_parts(self) -> Self::OutTuple {
1332        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25))
1333    }
1334}
1335impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TupleSplit13Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
1336    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26));
1337    fn split_13_parts(self) -> Self::OutTuple {
1338        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26))
1339    }
1340}
1341impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit13Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
1342    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27));
1343    fn split_13_parts(self) -> Self::OutTuple {
1344        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27))
1345    }
1346}
1347impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit13Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
1348    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28));
1349    fn split_13_parts(self) -> Self::OutTuple {
1350        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28))
1351    }
1352}
1353impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit13Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
1354    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27), (T28, T29));
1355    fn split_13_parts(self) -> Self::OutTuple {
1356        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29))
1357    }
1358}
1359impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit13Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1360    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28), (T29, T30));
1361    fn split_13_parts(self) -> Self::OutTuple {
1362        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28), (self.29, self.30))
1363    }
1364}
1365impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit13Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1366    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13, T14), (T15, T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27), (T28, T29), (T30, T31));
1367    fn split_13_parts(self) -> Self::OutTuple {
1368        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13, self.14), (self.15, self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29), (self.30, self.31))
1369    }
1370}
1371#[doc = "Split into 14 parts"]
1372pub trait TupleSplit14Parts {
1373    type OutTuple;
1374    #[doc = "Split into 14 parts"]
1375    fn split_14_parts(self) -> Self::OutTuple;
1376}
1377impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TupleSplit14Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
1378    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27));
1379    fn split_14_parts(self) -> Self::OutTuple {
1380        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27))
1381    }
1382}
1383impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TupleSplit14Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
1384    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28));
1385    fn split_14_parts(self) -> Self::OutTuple {
1386        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28))
1387    }
1388}
1389impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit14Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
1390    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27), (T28, T29));
1391    fn split_14_parts(self) -> Self::OutTuple {
1392        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29))
1393    }
1394}
1395impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit14Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1396    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28), (T29, T30));
1397    fn split_14_parts(self) -> Self::OutTuple {
1398        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28), (self.29, self.30))
1399    }
1400}
1401impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit14Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1402    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7, T8), (T9, T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27), (T28, T29), (T30, T31));
1403    fn split_14_parts(self) -> Self::OutTuple {
1404        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7, self.8), (self.9, self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29), (self.30, self.31))
1405    }
1406}
1407#[doc = "Split into 15 parts"]
1408pub trait TupleSplit15Parts {
1409    type OutTuple;
1410    #[doc = "Split into 15 parts"]
1411    fn split_15_parts(self) -> Self::OutTuple;
1412}
1413impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TupleSplit15Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
1414    type OutTuple = ((T0, T1), (T2, T3), (T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27), (T28, T29));
1415    fn split_15_parts(self) -> Self::OutTuple {
1416        ((self.0, self.1), (self.2, self.3), (self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29))
1417    }
1418}
1419impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TupleSplit15Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
1420    type OutTuple = ((T0, T1, T2), (T3, T4), (T5, T6), (T7, T8), (T9, T10), (T11, T12), (T13, T14), (T15, T16), (T17, T18), (T19, T20), (T21, T22), (T23, T24), (T25, T26), (T27, T28), (T29, T30));
1421    fn split_15_parts(self) -> Self::OutTuple {
1422        ((self.0, self.1, self.2), (self.3, self.4), (self.5, self.6), (self.7, self.8), (self.9, self.10), (self.11, self.12), (self.13, self.14), (self.15, self.16), (self.17, self.18), (self.19, self.20), (self.21, self.22), (self.23, self.24), (self.25, self.26), (self.27, self.28), (self.29, self.30))
1423    }
1424}
1425impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TupleSplit15Parts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
1426    type OutTuple = ((T0, T1, T2), (T3, T4, T5), (T6, T7), (T8, T9), (T10, T11), (T12, T13), (T14, T15), (T16, T17), (T18, T19), (T20, T21), (T22, T23), (T24, T25), (T26, T27), (T28, T29), (T30, T31));
1427    fn split_15_parts(self) -> Self::OutTuple {
1428        ((self.0, self.1, self.2), (self.3, self.4, self.5), (self.6, self.7), (self.8, self.9), (self.10, self.11), (self.12, self.13), (self.14, self.15), (self.16, self.17), (self.18, self.19), (self.20, self.21), (self.22, self.23), (self.24, self.25), (self.26, self.27), (self.28, self.29), (self.30, self.31))
1429    }
1430}