diff --git a/src/enc/impl_tuples.rs b/src/enc/impl_tuples.rs
index c67b869..adf5f5d 100644
--- a/src/enc/impl_tuples.rs
+++ b/src/enc/impl_tuples.rs
@@ -136,3 +136,269 @@ where
Ok(())
}
}
+
+impl Encode for (A, B, C, D, E, F, G, H, I)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ Ok(())
+ }
+}
+
+impl Encode for (A, B, C, D, E, F, G, H, I, J)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+ J: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ self.9.encode(encoder)?;
+ Ok(())
+ }
+}
+
+impl Encode for (A, B, C, D, E, F, G, H, I, J, K)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+ J: Encode,
+ K: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ self.9.encode(encoder)?;
+ self.10.encode(encoder)?;
+ Ok(())
+ }
+}
+
+impl Encode for (A, B, C, D, E, F, G, H, I, J, K, L)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+ J: Encode,
+ K: Encode,
+ L: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ self.9.encode(encoder)?;
+ self.10.encode(encoder)?;
+ self.11.encode(encoder)?;
+ Ok(())
+ }
+}
+
+impl Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+ J: Encode,
+ K: Encode,
+ L: Encode,
+ M: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ self.9.encode(encoder)?;
+ self.10.encode(encoder)?;
+ self.11.encode(encoder)?;
+ self.12.encode(encoder)?;
+ Ok(())
+ }
+}
+
+impl Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+ J: Encode,
+ K: Encode,
+ L: Encode,
+ M: Encode,
+ N: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ self.9.encode(encoder)?;
+ self.10.encode(encoder)?;
+ self.11.encode(encoder)?;
+ self.12.encode(encoder)?;
+ self.13.encode(encoder)?;
+ Ok(())
+ }
+}
+
+impl Encode
+ for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+ J: Encode,
+ K: Encode,
+ L: Encode,
+ M: Encode,
+ N: Encode,
+ O: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ self.9.encode(encoder)?;
+ self.10.encode(encoder)?;
+ self.11.encode(encoder)?;
+ self.12.encode(encoder)?;
+ self.13.encode(encoder)?;
+ self.14.encode(encoder)?;
+ Ok(())
+ }
+}
+
+impl Encode
+ for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
+where
+ A: Encode,
+ B: Encode,
+ C: Encode,
+ D: Encode,
+ E: Encode,
+ F: Encode,
+ G: Encode,
+ H: Encode,
+ I: Encode,
+ J: Encode,
+ K: Encode,
+ L: Encode,
+ M: Encode,
+ N: Encode,
+ O: Encode,
+ P: Encode,
+{
+ fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> {
+ self.0.encode(encoder)?;
+ self.1.encode(encoder)?;
+ self.2.encode(encoder)?;
+ self.3.encode(encoder)?;
+ self.4.encode(encoder)?;
+ self.5.encode(encoder)?;
+ self.6.encode(encoder)?;
+ self.7.encode(encoder)?;
+ self.8.encode(encoder)?;
+ self.9.encode(encoder)?;
+ self.10.encode(encoder)?;
+ self.11.encode(encoder)?;
+ self.12.encode(encoder)?;
+ self.13.encode(encoder)?;
+ self.14.encode(encoder)?;
+ self.15.encode(encoder)?;
+ Ok(())
+ }
+}