1use super::{BatchInsert, InsertStatement};
2use crate::insertable::{
3CanInsertInSingleQuery, ColumnInsertValue, DefaultableColumnInsertValue, InsertValues,
4};
5use crate::prelude::*;
6use crate::query_builder::debug_query::DebugBinds;
7use crate::query_builder::returning::ReturningClause;
8use crate::query_builder::upsert::on_conflict_clause::OnConflictValues;
9use crate::query_builder::{
10AstPass, DebugQuery, QueryBuilder, QueryFragment, QueryId, ValuesClause,
11};
12use crate::query_dsl::LoadQuery;
13use crate::query_dsl::methods::ExecuteDsl;
14use crate::sqlite::{Sqlite, SqliteQueryBuilder};
15use alloc::string::{String, ToString};
16use alloc::vec::Vec;
17use core::fmt::{self, Debug, Display};
1819pub trait DebugQueryHelper<ContainsDefaultableValue> {
20fn fmt_debug(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result;
21fn fmt_display(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result;
22}
2324impl<T, V, QId, Op, Ret, const STATIC_QUERY_ID: bool> DebugQueryHelper<Yes>
25for DebugQuery<
26'_,
27InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op, Ret>,
28Sqlite,
29 >
30where
31V: QueryFragment<Sqlite>,
32 T: Copy + QuerySource,
33 Op: Copy,
34 Ret: Copy,
35for<'b> InsertStatement<T, &'b ValuesClause<V, T>, Op, Ret>: QueryFragment<Sqlite>,
36{
37fn fmt_debug(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
38let mut statements = ::alloc::boxed::box_assume_init_into_vec_unsafe(::alloc::intrinsics::write_box_via_move(::alloc::boxed::Box::new_uninit(),
[String::from("BEGIN")]))alloc::vec![String::from("BEGIN")];
39for record in self.query.records.values.iter() {
40let stmt = InsertStatement::new(
41self.query.target,
42 record,
43self.query.operator,
44self.query.returning,
45 );
46 statements.push(crate::debug_query(&stmt).to_string());
47 }
48statements.push("COMMIT".into());
4950f.debug_struct("Query")
51 .field("sql", &statements)
52 .field("binds", &[] as &[i32; 0])
53 .finish()
54 }
5556fn fmt_display(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
57f.write_fmt(format_args!("BEGIN;\n"))writeln!(f, "BEGIN;")?;
58for record in self.query.records.values.iter() {
59let stmt = InsertStatement::new(
60self.query.target,
61 record,
62self.query.operator,
63self.query.returning,
64 );
65f.write_fmt(format_args!("{0}\n", crate::debug_query(&stmt)))writeln!(f, "{}", crate::debug_query(&stmt))?;
66 }
67f.write_fmt(format_args!("COMMIT;\n"))writeln!(f, "COMMIT;")?;
68Ok(())
69 }
70}
7172impl<'a, T, V, QId, Op, const STATIC_QUERY_ID: bool> DebugQueryHelper<No>
73for DebugQuery<
74'a,
75InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>,
76Sqlite,
77 >
78where
79T: Copy + Table,
80 Op: Copy + QueryFragment<Sqlite>,
81SqliteBatchInsertWrapper<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>:
82QueryFragment<Sqlite>,
83 V: CanInsertInSingleQuery<Sqlite>,
84 T::FromClause: QueryFragment<Sqlite>,
85{
86fn fmt_debug(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
87self.fmt_helper(f, crate::query_builder::debug_query::debug)
88 }
8990fn fmt_display(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
91self.fmt_helper(f, crate::query_builder::debug_query::display)
92 }
93}
9495#[allow(unsafe_code)] // cast to transparent wrapper type
96impl<'a, T, V, QId, Op, const STATIC_QUERY_ID: bool>
97DebugQuery<
98'a,
99InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>,
100Sqlite,
101 >
102where
103T: Copy + Table,
104 Op: Copy + QueryFragment<Sqlite>,
105SqliteBatchInsertWrapper<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>:
106QueryFragment<Sqlite>,
107 V: CanInsertInSingleQuery<Sqlite>,
108 T::FromClause: QueryFragment<Sqlite>,
109{
110fn fmt_helper(
111&self,
112 f: &mut fmt::Formatter<'_>,
113 formatter: fn(String, &DebugBinds<'_>, &mut fmt::Formatter<'_>) -> fmt::Result,
114 ) -> fmt::Result {
115// explicit destruct to make sure we use all the fields
116let InsertStatement {
117 operator,
118 target: _,
119 records,
120 returning,
121 into_clause,
122 } = self.query;
123let records = unsafe {
124// SAFETY:
125 // * SqliteBatchInsertWrapper is `#[repr(transparent)]` so this cast
126 // is allowed
127&*(recordsas *const _
128 as *const SqliteBatchInsertWrapper<
129Vec<ValuesClause<V, T>>,
130 T,
131 QId,
132STATIC_QUERY_ID,
133 >)
134 };
135let mut buffer = Vec::new();
136let ast_pass = AstPass::debug_binds(&mut buffer, &Sqlite);
137super::insert_statement::walk_ast_intern::<T, _, _, _, Sqlite>(
138 ast_pass,
139 records,
140 into_clause,
141 operator,
142 returning,
143 )
144 .map_err(|_| fmt::Error)?;
145let mut query_builder = SqliteQueryBuilder::default();
146let mut ast_pass_to_sql_options = Default::default();
147let sql_pass = AstPass::to_sql(&mut query_builder, &mut ast_pass_to_sql_options, &Sqlite);
148super::insert_statement::walk_ast_intern::<T, _, _, _, Sqlite>(
149 sql_pass,
150 records,
151 into_clause,
152 operator,
153 returning,
154 )
155 .map_err(|_| fmt::Error)?;
156let query = query_builder.finish();
157let debug_binds = crate::query_builder::debug_query::DebugBinds::new(&buffer);
158formatter(query, &debug_binds, f)
159 }
160}
161162impl<T, V, QId, Op, O, const STATIC_QUERY_ID: bool> Display163for DebugQuery<
164'_,
165InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>,
166Sqlite,
167 >
168where
169T: QuerySource,
170 V: ContainsDefaultableValue<Out = O>,
171Self: DebugQueryHelper<O>,
172{
173fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
174self.fmt_display(f)
175 }
176}
177178impl<T, V, QId, Op, O, const STATIC_QUERY_ID: bool> Debug179for DebugQuery<
180'_,
181InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>,
182Sqlite,
183 >
184where
185T: QuerySource,
186 V: ContainsDefaultableValue<Out = O>,
187Self: DebugQueryHelper<O>,
188{
189fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
190self.fmt_debug(f)
191 }
192}
193194#[allow(missing_debug_implementations, missing_copy_implementations)]
195pub struct Yes;
196197impl Defaultfor Yes {
198fn default() -> Self {
199Yes200 }
201}
202203#[allow(missing_debug_implementations, missing_copy_implementations)]
204pub struct No;
205206impl Defaultfor No {
207fn default() -> Self {
208No209 }
210}
211212pub trait Any<Rhs> {
213type Out: Any<Yes> + Any<No>;
214}
215216impl Any<No> for No {
217type Out = No;
218}
219220impl Any<Yes> for No {
221type Out = Yes;
222}
223224impl Any<No> for Yes {
225type Out = Yes;
226}
227228impl Any<Yes> for Yes {
229type Out = Yes;
230}
231232pub trait ContainsDefaultableValue {
233type Out: Any<Yes> + Any<No>;
234}
235236impl<C, B> ContainsDefaultableValuefor ColumnInsertValue<C, B> {
237type Out = No;
238}
239240impl<I> ContainsDefaultableValuefor DefaultableColumnInsertValue<I> {
241type Out = Yes;
242}
243244impl<I, const SIZE: usize> ContainsDefaultableValuefor [I; SIZE]
245where
246I: ContainsDefaultableValue,
247{
248type Out = I::Out;
249}
250251impl<I, T> ContainsDefaultableValuefor ValuesClause<I, T>
252where
253I: ContainsDefaultableValue,
254{
255type Out = I::Out;
256}
257258impl<T> ContainsDefaultableValuefor &T
259where
260T: ContainsDefaultableValue,
261{
262type Out = T::Out;
263}
264265impl<V, T, QId, C, Op, O, const STATIC_QUERY_ID: bool> ExecuteDsl<C, Sqlite>
266for InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>
267where
268T: QuerySource,
269 C: Connection<Backend = Sqlite>,
270 V: ContainsDefaultableValue<Out = O>,
271 O: Default,
272 (O, Self): ExecuteDsl<C, Sqlite>,
273{
274fn execute(query: Self, conn: &mut C) -> QueryResult<usize> {
275 <(O, Self) as ExecuteDsl<C, Sqlite>>::execute((O::default(), query), conn)
276 }
277}
278279impl<V, T, QId, C, Op, O, Target, ConflictOpt, const STATIC_QUERY_ID: bool> ExecuteDsl<C, Sqlite>
280for InsertStatement<
281 T,
282OnConflictValues<
283BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
284 Target,
285 ConflictOpt,
286 >,
287 Op,
288 >
289where
290T: QuerySource,
291 C: Connection<Backend = Sqlite>,
292 V: ContainsDefaultableValue<Out = O>,
293 O: Default,
294 (O, Self): ExecuteDsl<C, Sqlite>,
295{
296fn execute(query: Self, conn: &mut C) -> QueryResult<usize> {
297 <(O, Self) as ExecuteDsl<C, Sqlite>>::execute((O::default(), query), conn)
298 }
299}
300301impl<V, T, QId, C, Op, const STATIC_QUERY_ID: bool> ExecuteDsl<C, Sqlite>
302for (
303Yes,
304InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>,
305 )
306where
307C: Connection<Backend = Sqlite>,
308 T: Table + Copy + QueryId + 'static,
309 T::FromClause: QueryFragment<Sqlite>,
310 Op: Copy + QueryId + QueryFragment<Sqlite>,
311 V: InsertValues<Sqlite, T> + CanInsertInSingleQuery<Sqlite> + QueryId,
312{
313fn execute((Yes, query): Self, conn: &mut C) -> QueryResult<usize> {
314conn.transaction(|conn| {
315let mut result = 0;
316for record in &query.records.values {
317let stmt =
318 InsertStatement::new(query.target, record, query.operator, query.returning);
319 result += stmt.execute(conn)?;
320 }
321Ok(result)
322 })
323 }
324}
325326impl<'query, V, T, QId, Op, O, U, B, const STATIC_QUERY_ID: bool>
327LoadQuery<'query, SqliteConnection, U, B>
328for InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>
329where
330T: QuerySource,
331 V: ContainsDefaultableValue<Out = O>,
332 O: Default,
333 (O, Self): LoadQuery<'query, SqliteConnection, U, B>,
334{
335type RowIter<'conn> = <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
336337fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
338 <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::internal_load(
339 (O::default(), self),
340conn,
341 )
342 }
343}
344345impl<'query, V, T, QId, Op, Ret, O, U, B, const STATIC_QUERY_ID: bool>
346LoadQuery<'query, SqliteConnection, U, B>
347for InsertStatement<
348 T,
349BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
350 Op,
351ReturningClause<Ret>,
352 >
353where
354T: QuerySource,
355 V: ContainsDefaultableValue<Out = O>,
356 O: Default,
357 (O, Self): LoadQuery<'query, SqliteConnection, U, B>,
358{
359type RowIter<'conn> = <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
360361fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
362 <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::internal_load(
363 (O::default(), self),
364conn,
365 )
366 }
367}
368369impl<'query, V, T, QId, Op, O, U, B, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
370LoadQuery<'query, SqliteConnection, U, B>
371for InsertStatement<
372 T,
373OnConflictValues<
374BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
375 Target,
376 ConflictOpt,
377 >,
378 Op,
379 >
380where
381T: QuerySource,
382 V: ContainsDefaultableValue<Out = O>,
383 O: Default,
384 (O, Self): LoadQuery<'query, SqliteConnection, U, B>,
385{
386type RowIter<'conn> = <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
387388fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
389 <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::internal_load(
390 (O::default(), self),
391conn,
392 )
393 }
394}
395396impl<'query, V, T, QId, Op, Ret, O, U, B, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
397LoadQuery<'query, SqliteConnection, U, B>
398for InsertStatement<
399 T,
400OnConflictValues<
401BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
402 Target,
403 ConflictOpt,
404 >,
405 Op,
406ReturningClause<Ret>,
407 >
408where
409T: QuerySource,
410 V: ContainsDefaultableValue<Out = O>,
411 O: Default,
412 (O, Self): LoadQuery<'query, SqliteConnection, U, B>,
413{
414type RowIter<'conn> = <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
415416fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
417 <(O, Self) as LoadQuery<'query, SqliteConnection, U, B>>::internal_load(
418 (O::default(), self),
419conn,
420 )
421 }
422}
423424impl<V, T, QId, Op, O, const STATIC_QUERY_ID: bool> RunQueryDsl<SqliteConnection>
425for (
426 O,
427InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>,
428 )
429where
430T: QuerySource,
431 V: ContainsDefaultableValue<Out = O>,
432 O: Default,
433InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>:
434RunQueryDsl<SqliteConnection>,
435{
436}
437438impl<V, T, QId, Op, Ret, O, const STATIC_QUERY_ID: bool> RunQueryDsl<SqliteConnection>
439for (
440 O,
441InsertStatement<
442 T,
443BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
444 Op,
445ReturningClause<Ret>,
446 >,
447 )
448where
449T: QuerySource,
450 V: ContainsDefaultableValue<Out = O>,
451 O: Default,
452InsertStatement<
453 T,
454BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
455 Op,
456ReturningClause<Ret>,
457 >: RunQueryDsl<SqliteConnection>,
458{
459}
460461impl<V, T, QId, Op, O, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
462RunQueryDsl<SqliteConnection>
463for (
464 O,
465InsertStatement<
466 T,
467OnConflictValues<
468BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
469 Target,
470 ConflictOpt,
471 >,
472 Op,
473 >,
474 )
475where
476T: QuerySource,
477 V: ContainsDefaultableValue<Out = O>,
478 O: Default,
479InsertStatement<
480 T,
481OnConflictValues<
482BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
483 Target,
484 ConflictOpt,
485 >,
486 Op,
487 >: RunQueryDsl<SqliteConnection>,
488{
489}
490491impl<V, T, QId, Op, Ret, O, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
492RunQueryDsl<SqliteConnection>
493for (
494 O,
495InsertStatement<
496 T,
497OnConflictValues<
498BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
499 Target,
500 ConflictOpt,
501 >,
502 Op,
503ReturningClause<Ret>,
504 >,
505 )
506where
507T: QuerySource,
508 V: ContainsDefaultableValue<Out = O>,
509 O: Default,
510InsertStatement<
511 T,
512OnConflictValues<
513BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
514 Target,
515 ConflictOpt,
516 >,
517 Op,
518ReturningClause<Ret>,
519 >: RunQueryDsl<SqliteConnection>,
520{
521}
522523#[diagnostic::do_not_recommend]
524impl<'query, V, T, QId, Op, U, B, const STATIC_QUERY_ID: bool>
525LoadQuery<'query, SqliteConnection, U, B>
526for (
527Yes,
528InsertStatement<T, BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>, Op>,
529 )
530where
531T: Table + Copy + QueryId + 'static,
532 Op: Copy + QueryId + QueryFragment<Sqlite>,
533InsertStatement<T, ValuesClause<V, T>, Op>: LoadQuery<'query, SqliteConnection, U, B>,
534Self: RunQueryDsl<SqliteConnection>,
535{
536type RowIter<'conn> = alloc::vec::IntoIter<QueryResult<U>>;
537538fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
539let (Yes, query) = self;
540541conn.transaction(|conn| {
542let mut results = Vec::with_capacity(query.records.values.len());
543544for record in query.records.values {
545let stmt =
546 InsertStatement::new(query.target, record, query.operator, query.returning);
547548let result = stmt
549 .internal_load(conn)?
550.next()
551 .ok_or(crate::result::Error::NotFound)?;
552553match &result {
554Ok(_) | Err(crate::result::Error::DeserializationError(_)) => {
555 results.push(result)
556 }
557Err(_) => {
558 result?;
559 }
560 };
561 }
562563Ok(results.into_iter())
564 })
565 }
566}
567568#[diagnostic::do_not_recommend]
569impl<'query, V, T, QId, Op, Ret, U, B, const STATIC_QUERY_ID: bool>
570LoadQuery<'query, SqliteConnection, U, B>
571for (
572Yes,
573InsertStatement<
574 T,
575BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
576 Op,
577ReturningClause<Ret>,
578 >,
579 )
580where
581T: Table + Copy + QueryId + 'static,
582 Op: Copy + QueryId + QueryFragment<Sqlite>,
583ReturningClause<Ret>: Copy,
584InsertStatement<T, ValuesClause<V, T>, Op, ReturningClause<Ret>>:
585LoadQuery<'query, SqliteConnection, U, B>,
586Self: RunQueryDsl<SqliteConnection>,
587{
588type RowIter<'conn> = alloc::vec::IntoIter<QueryResult<U>>;
589590fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
591let (Yes, query) = self;
592593conn.transaction(|conn| {
594let mut results = Vec::with_capacity(query.records.values.len());
595596for record in query.records.values {
597let stmt =
598 InsertStatement::new(query.target, record, query.operator, query.returning);
599600let result = stmt
601 .internal_load(conn)?
602.next()
603 .ok_or(crate::result::Error::NotFound)?;
604605match &result {
606Ok(_) | Err(crate::result::Error::DeserializationError(_)) => {
607 results.push(result)
608 }
609Err(_) => {
610 result?;
611 }
612 };
613 }
614615Ok(results.into_iter())
616 })
617 }
618}
619620#[diagnostic::do_not_recommend]
621impl<'query, V, T, QId, Op, U, B, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
622LoadQuery<'query, SqliteConnection, U, B>
623for (
624Yes,
625InsertStatement<
626 T,
627OnConflictValues<
628BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
629 Target,
630 ConflictOpt,
631 >,
632 Op,
633 >,
634 )
635where
636T: Table + Copy + QueryId + 'static,
637 T::FromClause: Copy,
638 Op: Copy,
639 Target: Copy,
640 ConflictOpt: Copy,
641InsertStatement<T, OnConflictValues<ValuesClause<V, T>, Target, ConflictOpt>, Op>:
642LoadQuery<'query, SqliteConnection, U, B>,
643Self: RunQueryDsl<SqliteConnection>,
644{
645type RowIter<'conn> = alloc::vec::IntoIter<QueryResult<U>>;
646647fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
648let (Yes, query) = self;
649650conn.transaction(|conn| {
651let mut results = Vec::with_capacity(query.records.values.values.len());
652653for record in query.records.values.values {
654let stmt = InsertStatement {
655 operator: query.operator,
656 target: query.target,
657 records: OnConflictValues {
658 values: record,
659 target: query.records.target,
660 action: query.records.action,
661 where_clause: query.records.where_clause,
662 },
663 returning: query.returning,
664 into_clause: query.into_clause,
665 };
666667let result = stmt
668 .internal_load(conn)?
669.next()
670 .ok_or(crate::result::Error::NotFound)?;
671672match &result {
673Ok(_) | Err(crate::result::Error::DeserializationError(_)) => {
674 results.push(result)
675 }
676Err(_) => {
677 result?;
678 }
679 };
680 }
681682Ok(results.into_iter())
683 })
684 }
685}
686687#[diagnostic::do_not_recommend]
688impl<'query, V, T, QId, Op, Ret, U, B, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
689LoadQuery<'query, SqliteConnection, U, B>
690for (
691Yes,
692InsertStatement<
693 T,
694OnConflictValues<
695BatchInsert<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>,
696 Target,
697 ConflictOpt,
698 >,
699 Op,
700ReturningClause<Ret>,
701 >,
702 )
703where
704T: Table + Copy + QueryId + 'static,
705 T::FromClause: Copy,
706 Op: Copy,
707ReturningClause<Ret>: Copy,
708 Target: Copy,
709 ConflictOpt: Copy,
710InsertStatement<
711 T,
712OnConflictValues<ValuesClause<V, T>, Target, ConflictOpt>,
713 Op,
714ReturningClause<Ret>,
715 >: LoadQuery<'query, SqliteConnection, U, B>,
716Self: RunQueryDsl<SqliteConnection>,
717{
718type RowIter<'conn> = alloc::vec::IntoIter<QueryResult<U>>;
719720fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
721let (Yes, query) = self;
722723conn.transaction(|conn| {
724let mut results = Vec::with_capacity(query.records.values.values.len());
725726for record in query.records.values.values {
727let stmt = InsertStatement {
728 operator: query.operator,
729 target: query.target,
730 records: OnConflictValues {
731 values: record,
732 target: query.records.target,
733 action: query.records.action,
734 where_clause: query.records.where_clause,
735 },
736 returning: query.returning,
737 into_clause: query.into_clause,
738 };
739740let result = stmt
741 .internal_load(conn)?
742.next()
743 .ok_or(crate::result::Error::NotFound)?;
744745match &result {
746Ok(_) | Err(crate::result::Error::DeserializationError(_)) => {
747 results.push(result)
748 }
749Err(_) => {
750 result?;
751 }
752 };
753 }
754755Ok(results.into_iter())
756 })
757 }
758}
759760#[allow(missing_debug_implementations, missing_copy_implementations)]
761#[repr(transparent)]
762pub struct SqliteBatchInsertWrapper<V, T, QId, const STATIC_QUERY_ID: bool>(
763BatchInsert<V, T, QId, STATIC_QUERY_ID>,
764);
765766impl<V, T, QId, const STATIC_QUERY_ID: bool> crate::query_builder::returning::InsertStmtKind767for SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>
768{
769type StmtKind = crate::query_builder::returning::InsertStmtWithoutOnConflictDoUpdate;
770}
771772impl<V, Tab, QId, const STATIC_QUERY_ID: bool> QueryFragment<Sqlite>
773for SqliteBatchInsertWrapper<Vec<ValuesClause<V, Tab>>, Tab, QId, STATIC_QUERY_ID>
774where
775ValuesClause<V, Tab>: QueryFragment<Sqlite>,
776 V: QueryFragment<Sqlite>,
777{
778fn walk_ast<'b>(&'b self, mut out: AstPass<'_, 'b, Sqlite>) -> QueryResult<()> {
779if !STATIC_QUERY_ID {
780out.unsafe_to_cache_prepared();
781 }
782783let mut values = self.0.values.iter();
784if let Some(value) = values.next() {
785 value.walk_ast(out.reborrow())?;
786 }
787for value in values {
788 out.push_sql(", (");
789 value.values.walk_ast(out.reborrow())?;
790 out.push_sql(")");
791 }
792Ok(())
793 }
794}
795796#[allow(missing_copy_implementations, missing_debug_implementations)]
797#[repr(transparent)]
798pub struct SqliteCanInsertInSingleQueryHelper<T: ?Sized>(T);
799800impl<V, T, QId, const STATIC_QUERY_ID: bool> CanInsertInSingleQuery<Sqlite>
801for SqliteBatchInsertWrapper<Vec<ValuesClause<V, T>>, T, QId, STATIC_QUERY_ID>
802where
803// We constrain that here on an internal helper type
804 // to make sure that this does not accidentally leak
805 // so that none does really implement normal batch
806 // insert for inserts with default values here
807SqliteCanInsertInSingleQueryHelper<V>: CanInsertInSingleQuery<Sqlite>,
808{
809fn rows_to_insert(&self) -> Option<usize> {
810Some(self.0.values.len())
811 }
812}
813814impl<T> CanInsertInSingleQuery<Sqlite> for SqliteCanInsertInSingleQueryHelper<T>
815where
816T: CanInsertInSingleQuery<Sqlite>,
817{
818fn rows_to_insert(&self) -> Option<usize> {
819self.0.rows_to_insert()
820 }
821}
822823impl<V, T, QId, const STATIC_QUERY_ID: bool> QueryId824for SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>
825where
826BatchInsert<V, T, QId, STATIC_QUERY_ID>: QueryId,
827{
828type QueryId = <BatchInsert<V, T, QId, STATIC_QUERY_ID> as QueryId>::QueryId;
829830const HAS_STATIC_QUERY_ID: bool =
831 <BatchInsert<V, T, QId, STATIC_QUERY_ID> as QueryId>::HAS_STATIC_QUERY_ID;
832}
833834impl<V, T, QId, C, Op, const STATIC_QUERY_ID: bool> ExecuteDsl<C, Sqlite>
835for (
836No,
837InsertStatement<T, BatchInsert<V, T, QId, STATIC_QUERY_ID>, Op>,
838 )
839where
840C: Connection<Backend = Sqlite>,
841 T: Table + QueryId + 'static,
842 T::FromClause: QueryFragment<Sqlite>,
843 Op: QueryFragment<Sqlite> + QueryId,
844SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>:
845QueryFragment<Sqlite> + QueryId + CanInsertInSingleQuery<Sqlite>,
846{
847fn execute((No, query): Self, conn: &mut C) -> QueryResult<usize> {
848let query = InsertStatement {
849 records: SqliteBatchInsertWrapper(query.records),
850 operator: query.operator,
851 target: query.target,
852 returning: query.returning,
853 into_clause: query.into_clause,
854 };
855query.execute(conn)
856 }
857}
858859impl<V, T, QId, C, Op, Target, ConflictOpt, const STATIC_QUERY_ID: bool> ExecuteDsl<C, Sqlite>
860for (
861No,
862InsertStatement<
863 T,
864OnConflictValues<BatchInsert<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>,
865 Op,
866 >,
867 )
868where
869C: Connection<Backend = Sqlite>,
870 T: Table + QueryId + 'static,
871 T::FromClause: QueryFragment<Sqlite>,
872 Op: QueryFragment<Sqlite> + QueryId,
873OnConflictValues<SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>:
874QueryFragment<Sqlite> + CanInsertInSingleQuery<Sqlite> + QueryId,
875{
876fn execute((No, query): Self, conn: &mut C) -> QueryResult<usize> {
877let query = InsertStatement {
878 operator: query.operator,
879 target: query.target,
880 records: OnConflictValues {
881 values: SqliteBatchInsertWrapper(query.records.values),
882 target: query.records.target,
883 action: query.records.action,
884 where_clause: query.records.where_clause,
885 },
886 returning: query.returning,
887 into_clause: query.into_clause,
888 };
889query.execute(conn)
890 }
891}
892893#[diagnostic::do_not_recommend]
894impl<'query, V, T, QId, Op, U, B, const STATIC_QUERY_ID: bool>
895LoadQuery<'query, SqliteConnection, U, B>
896for (
897No,
898InsertStatement<T, BatchInsert<V, T, QId, STATIC_QUERY_ID>, Op>,
899 )
900where
901T: Table + QueryId + 'static,
902InsertStatement<T, SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>, Op>:
903LoadQuery<'query, SqliteConnection, U, B>,
904Self: RunQueryDsl<SqliteConnection>,
905{
906type RowIter<'conn> = <InsertStatement<
907 T,
908SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>,
909 Op,
910 > as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
911912fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
913let (No, query) = self;
914915let query = InsertStatement {
916 records: SqliteBatchInsertWrapper(query.records),
917 operator: query.operator,
918 target: query.target,
919 returning: query.returning,
920 into_clause: query.into_clause,
921 };
922923query.internal_load(conn)
924 }
925}
926927#[diagnostic::do_not_recommend]
928impl<'query, V, T, QId, Op, Ret, U, B, const STATIC_QUERY_ID: bool>
929LoadQuery<'query, SqliteConnection, U, B>
930for (
931No,
932InsertStatement<T, BatchInsert<V, T, QId, STATIC_QUERY_ID>, Op, ReturningClause<Ret>>,
933 )
934where
935T: Table + QueryId + 'static,
936InsertStatement<
937 T,
938SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>,
939 Op,
940ReturningClause<Ret>,
941 >: LoadQuery<'query, SqliteConnection, U, B>,
942Self: RunQueryDsl<SqliteConnection>,
943{
944type RowIter<'conn> = <InsertStatement<
945 T,
946SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>,
947 Op,
948ReturningClause<Ret>,
949 > as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
950951fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
952let (No, query) = self;
953954let query = InsertStatement {
955 records: SqliteBatchInsertWrapper(query.records),
956 operator: query.operator,
957 target: query.target,
958 returning: query.returning,
959 into_clause: query.into_clause,
960 };
961962query.internal_load(conn)
963 }
964}
965966#[diagnostic::do_not_recommend]
967impl<'query, V, T, QId, Op, U, B, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
968LoadQuery<'query, SqliteConnection, U, B>
969for (
970No,
971InsertStatement<
972 T,
973OnConflictValues<BatchInsert<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>,
974 Op,
975 >,
976 )
977where
978T: Table + QueryId + 'static,
979InsertStatement<
980 T,
981OnConflictValues<SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>,
982 Op,
983 >: LoadQuery<'query, SqliteConnection, U, B>,
984Self: RunQueryDsl<SqliteConnection>,
985{
986type RowIter<'conn> = <InsertStatement<
987 T,
988OnConflictValues<SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>,
989 Op,
990 > as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
991992fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
993let (No, query) = self;
994995let query = InsertStatement {
996 operator: query.operator,
997 target: query.target,
998 records: OnConflictValues {
999 values: SqliteBatchInsertWrapper(query.records.values),
1000 target: query.records.target,
1001 action: query.records.action,
1002 where_clause: query.records.where_clause,
1003 },
1004 returning: query.returning,
1005 into_clause: query.into_clause,
1006 };
10071008query.internal_load(conn)
1009 }
1010}
10111012#[diagnostic::do_not_recommend]
1013impl<'query, V, T, QId, Op, Ret, U, B, Target, ConflictOpt, const STATIC_QUERY_ID: bool>
1014LoadQuery<'query, SqliteConnection, U, B>
1015for (
1016No,
1017InsertStatement<
1018 T,
1019OnConflictValues<BatchInsert<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>,
1020 Op,
1021ReturningClause<Ret>,
1022 >,
1023 )
1024where
1025T: Table + QueryId + 'static,
1026InsertStatement<
1027 T,
1028OnConflictValues<SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>,
1029 Op,
1030ReturningClause<Ret>,
1031 >: LoadQuery<'query, SqliteConnection, U, B>,
1032Self: RunQueryDsl<SqliteConnection>,
1033{
1034type RowIter<'conn> = <InsertStatement<
1035 T,
1036OnConflictValues<SqliteBatchInsertWrapper<V, T, QId, STATIC_QUERY_ID>, Target, ConflictOpt>,
1037 Op,
1038ReturningClause<Ret>,
1039 > as LoadQuery<'query, SqliteConnection, U, B>>::RowIter<'conn>;
10401041fn internal_load(self, conn: &mut SqliteConnection) -> QueryResult<Self::RowIter<'_>> {
1042let (No, query) = self;
10431044let query = InsertStatement {
1045 operator: query.operator,
1046 target: query.target,
1047 records: OnConflictValues {
1048 values: SqliteBatchInsertWrapper(query.records.values),
1049 target: query.records.target,
1050 action: query.records.action,
1051 where_clause: query.records.where_clause,
1052 },
1053 returning: query.returning,
1054 into_clause: query.into_clause,
1055 };
10561057query.internal_load(conn)
1058 }
1059}
10601061macro_rules! tuple_impls {
1062 ($(
1063$Tuple:tt {
1064 $(($idx:tt) -> $T:ident, $ST:ident, $TT:ident,)+
1065 }
1066 )+) => {
1067 $(
1068impl_contains_defaultable_value!($($T,)*);
1069 )*
1070 }
1071 }
10721073macro_rules! impl_contains_defaultable_value {
1074 (
1075 @build
1076 start_ts = [$($ST: ident,)*],
1077 ts = [$T1: ident,],
1078 bounds = [$($bounds: tt)*],
1079 out = [$($out: tt)*],
1080 )=> {
1081impl<$($ST,)*> ContainsDefaultableValue for ($($ST,)*)
1082where
1083$($ST: ContainsDefaultableValue,)*
1084 $($bounds)*
1085$T1::Out: Any<$($out)*>,
1086 {
1087type Out = <$T1::Out as Any<$($out)*>>::Out;
1088 }
10891090 };
1091 (
1092 @build
1093 start_ts = [$($ST: ident,)*],
1094 ts = [$T1: ident, $($T: ident,)+],
1095 bounds = [$($bounds: tt)*],
1096 out = [$($out: tt)*],
1097 )=> {
1098impl_contains_defaultable_value! {
1099 @build
1100 start_ts = [$($ST,)*],
1101 ts = [$($T,)*],
1102 bounds = [$($bounds)* $T1::Out: Any<$($out)*>,],
1103 out = [<$T1::Out as Any<$($out)*>>::Out],
1104 }
1105 };
1106 ($T1: ident, $($T: ident,)+) => {
1107impl_contains_defaultable_value! {
1108 @build
1109 start_ts = [$T1, $($T,)*],
1110 ts = [$($T,)*],
1111 bounds = [],
1112 out = [$T1::Out],
1113 }
1114 };
1115 ($T1: ident,) => {
1116impl<$T1> ContainsDefaultableValue for ($T1,)
1117where $T1: ContainsDefaultableValue,
1118 {
1119type Out = <$T1 as ContainsDefaultableValue>::Out;
1120 }
1121 }
1122}
11231124impl<T> ContainsDefaultableValue for (T,) where T: ContainsDefaultableValue {
type Out = <T as ContainsDefaultableValue>::Out;
}
impl<T, T1> ContainsDefaultableValue for (T, T1) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T1::Out: Any<T::Out> {
type Out = <T1::Out as Any<T::Out>>::Out;
}
impl<T, T1, T2> ContainsDefaultableValue for (T, T1, T2) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out> {
type Out = <T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3> ContainsDefaultableValue for (T, T1, T2, T3) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out> {
type Out =
<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4> ContainsDefaultableValue for (T, T1, T2, T3, T4) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out> {
type Out =
<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out> {
type Out =
<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out> {
type Out =
<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out> {
type Out =
<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out> {
type Out =
<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T9: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out> {
type Out =
<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ContainsDefaultableValue
for (T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17) where T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18) where T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T9: ContainsDefaultableValue, T10: ContainsDefaultableValue,
T11: ContainsDefaultableValue, T12: ContainsDefaultableValue,
T13: ContainsDefaultableValue, T14: ContainsDefaultableValue,
T15: ContainsDefaultableValue, T16: ContainsDefaultableValue,
T17: ContainsDefaultableValue, T18: ContainsDefaultableValue,
T19: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T9: ContainsDefaultableValue, T10: ContainsDefaultableValue,
T11: ContainsDefaultableValue, T12: ContainsDefaultableValue,
T13: ContainsDefaultableValue, T14: ContainsDefaultableValue,
T15: ContainsDefaultableValue, T16: ContainsDefaultableValue,
T17: ContainsDefaultableValue, T18: ContainsDefaultableValue,
T19: ContainsDefaultableValue, T20: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T9: ContainsDefaultableValue, T10: ContainsDefaultableValue,
T11: ContainsDefaultableValue, T12: ContainsDefaultableValue,
T13: ContainsDefaultableValue, T14: ContainsDefaultableValue,
T15: ContainsDefaultableValue, T16: ContainsDefaultableValue,
T17: ContainsDefaultableValue, T18: ContainsDefaultableValue,
T19: ContainsDefaultableValue, T20: ContainsDefaultableValue,
T21: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T9: ContainsDefaultableValue, T10: ContainsDefaultableValue,
T11: ContainsDefaultableValue, T12: ContainsDefaultableValue,
T13: ContainsDefaultableValue, T14: ContainsDefaultableValue,
T15: ContainsDefaultableValue, T16: ContainsDefaultableValue,
T17: ContainsDefaultableValue, T18: ContainsDefaultableValue,
T19: ContainsDefaultableValue, T20: ContainsDefaultableValue,
T21: ContainsDefaultableValue, T22: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22, T23> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22, T23) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T9: ContainsDefaultableValue, T10: ContainsDefaultableValue,
T11: ContainsDefaultableValue, T12: ContainsDefaultableValue,
T13: ContainsDefaultableValue, T14: ContainsDefaultableValue,
T15: ContainsDefaultableValue, T16: ContainsDefaultableValue,
T17: ContainsDefaultableValue, T18: ContainsDefaultableValue,
T19: ContainsDefaultableValue, T20: ContainsDefaultableValue,
T21: ContainsDefaultableValue, T22: ContainsDefaultableValue,
T23: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22, T23, T24> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22, T23, T24) where T: ContainsDefaultableValue,
T1: ContainsDefaultableValue, T2: ContainsDefaultableValue,
T3: ContainsDefaultableValue, T4: ContainsDefaultableValue,
T5: ContainsDefaultableValue, T6: ContainsDefaultableValue,
T7: ContainsDefaultableValue, T8: ContainsDefaultableValue,
T9: ContainsDefaultableValue, T10: ContainsDefaultableValue,
T11: ContainsDefaultableValue, T12: ContainsDefaultableValue,
T13: ContainsDefaultableValue, T14: ContainsDefaultableValue,
T15: ContainsDefaultableValue, T16: ContainsDefaultableValue,
T17: ContainsDefaultableValue, T18: ContainsDefaultableValue,
T19: ContainsDefaultableValue, T20: ContainsDefaultableValue,
T21: ContainsDefaultableValue, T22: ContainsDefaultableValue,
T23: ContainsDefaultableValue, T24: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22, T23, T24, T25> ContainsDefaultableValue for
(T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16,
T17, T18, T19, T20, T21, T22, T23, T24, T25) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T19: ContainsDefaultableValue,
T20: ContainsDefaultableValue, T21: ContainsDefaultableValue,
T22: ContainsDefaultableValue, T23: ContainsDefaultableValue,
T24: ContainsDefaultableValue, T25: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T25::Out: Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, 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> ContainsDefaultableValue
for
(T, T1, 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) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T19: ContainsDefaultableValue,
T20: ContainsDefaultableValue, T21: ContainsDefaultableValue,
T22: ContainsDefaultableValue, T23: ContainsDefaultableValue,
T24: ContainsDefaultableValue, T25: ContainsDefaultableValue,
T26: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T25::Out: Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T26::Out: Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, 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>
ContainsDefaultableValue for
(T, T1, 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) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T19: ContainsDefaultableValue,
T20: ContainsDefaultableValue, T21: ContainsDefaultableValue,
T22: ContainsDefaultableValue, T23: ContainsDefaultableValue,
T24: ContainsDefaultableValue, T25: ContainsDefaultableValue,
T26: ContainsDefaultableValue, T27: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T25::Out: Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T26::Out: Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T27::Out: Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, 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>
ContainsDefaultableValue for
(T, T1, 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) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T19: ContainsDefaultableValue,
T20: ContainsDefaultableValue, T21: ContainsDefaultableValue,
T22: ContainsDefaultableValue, T23: ContainsDefaultableValue,
T24: ContainsDefaultableValue, T25: ContainsDefaultableValue,
T26: ContainsDefaultableValue, T27: ContainsDefaultableValue,
T28: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T25::Out: Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T26::Out: Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T27::Out: Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T28::Out: Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, 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>
ContainsDefaultableValue for
(T, T1, 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) where
T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T19: ContainsDefaultableValue,
T20: ContainsDefaultableValue, T21: ContainsDefaultableValue,
T22: ContainsDefaultableValue, T23: ContainsDefaultableValue,
T24: ContainsDefaultableValue, T25: ContainsDefaultableValue,
T26: ContainsDefaultableValue, T27: ContainsDefaultableValue,
T28: ContainsDefaultableValue, T29: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T25::Out: Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T26::Out: Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T27::Out: Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T28::Out: Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T29::Out: Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T29::Out as
Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, 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>
ContainsDefaultableValue for
(T, T1, 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)
where T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T19: ContainsDefaultableValue,
T20: ContainsDefaultableValue, T21: ContainsDefaultableValue,
T22: ContainsDefaultableValue, T23: ContainsDefaultableValue,
T24: ContainsDefaultableValue, T25: ContainsDefaultableValue,
T26: ContainsDefaultableValue, T27: ContainsDefaultableValue,
T28: ContainsDefaultableValue, T29: ContainsDefaultableValue,
T30: ContainsDefaultableValue, T1::Out: Any<T::Out>,
T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T25::Out: Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T26::Out: Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T27::Out: Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T28::Out: Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T29::Out: Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T30::Out: Any<<T29::Out as
Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T30::Out as
Any<<T29::Out as
Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}
impl<T, T1, 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>
ContainsDefaultableValue for
(T, T1, 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)
where T: ContainsDefaultableValue, T1: ContainsDefaultableValue,
T2: ContainsDefaultableValue, T3: ContainsDefaultableValue,
T4: ContainsDefaultableValue, T5: ContainsDefaultableValue,
T6: ContainsDefaultableValue, T7: ContainsDefaultableValue,
T8: ContainsDefaultableValue, T9: ContainsDefaultableValue,
T10: ContainsDefaultableValue, T11: ContainsDefaultableValue,
T12: ContainsDefaultableValue, T13: ContainsDefaultableValue,
T14: ContainsDefaultableValue, T15: ContainsDefaultableValue,
T16: ContainsDefaultableValue, T17: ContainsDefaultableValue,
T18: ContainsDefaultableValue, T19: ContainsDefaultableValue,
T20: ContainsDefaultableValue, T21: ContainsDefaultableValue,
T22: ContainsDefaultableValue, T23: ContainsDefaultableValue,
T24: ContainsDefaultableValue, T25: ContainsDefaultableValue,
T26: ContainsDefaultableValue, T27: ContainsDefaultableValue,
T28: ContainsDefaultableValue, T29: ContainsDefaultableValue,
T30: ContainsDefaultableValue, T31: ContainsDefaultableValue,
T1::Out: Any<T::Out>, T2::Out: Any<<T1::Out as Any<T::Out>>::Out>,
T3::Out: Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>,
T4::Out: Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>,
T5::Out: Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>,
T6::Out: Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T7::Out: Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T8::Out: Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T9::Out: Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T10::Out: Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T11::Out: Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T12::Out: Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T13::Out: Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T14::Out: Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T15::Out: Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T16::Out: Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T17::Out: Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T18::Out: Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T19::Out: Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T20::Out: Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T21::Out: Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T22::Out: Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T23::Out: Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T24::Out: Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T25::Out: Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T26::Out: Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T27::Out: Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T28::Out: Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T29::Out: Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T30::Out: Any<<T29::Out as
Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>,
T31::Out: Any<<T30::Out as
Any<<T29::Out as
Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>
{
type Out =
<T31::Out as
Any<<T30::Out as
Any<<T29::Out as
Any<<T28::Out as
Any<<T27::Out as
Any<<T26::Out as
Any<<T25::Out as
Any<<T24::Out as
Any<<T23::Out as
Any<<T22::Out as
Any<<T21::Out as
Any<<T20::Out as
Any<<T19::Out as
Any<<T18::Out as
Any<<T17::Out as
Any<<T16::Out as
Any<<T15::Out as
Any<<T14::Out as
Any<<T13::Out as
Any<<T12::Out as
Any<<T11::Out as
Any<<T10::Out as
Any<<T9::Out as
Any<<T8::Out as
Any<<T7::Out as
Any<<T6::Out as
Any<<T5::Out as
Any<<T4::Out as
Any<<T3::Out as
Any<<T2::Out as
Any<<T1::Out as
Any<T::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out>>::Out;
}crate::for_each_tuple!(tuple_impls);