typesize/
tuple.rs

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}