1use crate::TypeSize;
2
3impl<T1: TypeSize> TypeSize for (T1,) {
4 fn extra_size(&self) -> usize {
5 self.0.extra_size()
6 }
7}
8impl<T1: TypeSize, T2: TypeSize> TypeSize for (T1, T2) {
9 fn extra_size(&self) -> usize {
10 self.0.extra_size() + self.1.extra_size()
11 }
12}
13impl<T1: TypeSize, T2: TypeSize, T3: TypeSize> TypeSize for (T1, T2, T3) {
14 fn extra_size(&self) -> usize {
15 self.0.extra_size() + self.1.extra_size() + self.2.extra_size()
16 }
17}
18impl<T1: TypeSize, T2: TypeSize, T3: TypeSize, T4: TypeSize> TypeSize for (T1, T2, T3, T4) {
19 fn extra_size(&self) -> usize {
20 self.0.extra_size() + self.1.extra_size() + self.2.extra_size() + self.3.extra_size()
21 }
22}