// Copyright 2026 International Digital Economy Academy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Private aliases so tuple promotions can name the (unnameable) tuple types.
///|
type Tuple2[A, B] = (A, B)
///|
type Tuple3[A, B, C] = (A, B, C)
///|
type Tuple4[A, B, C, D] = (A, B, C, D)
///|
type Tuple5[A, B, C, D, E] = (A, B, C, D, E)
///|
type Tuple6[A, B, C, D, E, F] = (A, B, C, D, E, F)
///|
type Tuple7[A, B, C, D, E, F, G] = (A, B, C, D, E, F, G)
///|
type Tuple8[A, B, C, D, E, F, G, H] = (A, B, C, D, E, F, G, H)
///|
type Tuple9[A, B, C, D, E, F, G, H, I] = (A, B, C, D, E, F, G, H, I)
///|
type Tuple10[A, B, C, D, E, F, G, H, I, J] = (A, B, C, D, E, F, G, H, I, J)
///|
type Tuple11[A, B, C, D, E, F, G, H, I, J, K] = (
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
)
///|
type Tuple12[A, B, C, D, E, F, G, H, I, J, K, L] = (
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
)
///|
type Tuple13[A, B, C, D, E, F, G, H, I, J, K, L, M] = (
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
)
///|
type Tuple14[A, B, C, D, E, F, G, H, I, J, K, L, M, N] = (
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
)
///|
type Tuple15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O] = (
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
)
///|
type Tuple16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] = (
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
)
// --- deprecated: hidden from the generated interface ---
// Tuples have no promoted trait methods; every promotion below is deprecated.
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple10 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple11 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple12 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple13 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple14 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple15 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple16 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple2 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple3 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple4 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple5 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple6 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple7 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple8 with Default::{default}
///|
#deprecated("Use `Default::default` instead", skip_current_package=true)
#doc(hidden)
pub extend Tuple9 with Default::{default}