From 656237a4df82a52e8934aa6ffca5bb04bca64f2b Mon Sep 17 00:00:00 2001 From: timofey Date: Sat, 5 Aug 2023 15:28:00 +0000 Subject: [PATCH] `FixedSizeFactory` for pair --- src/rstd/collections/pair.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/rstd/collections/pair.rs b/src/rstd/collections/pair.rs index e82ba2e..bc996ba 100644 --- a/src/rstd/collections/pair.rs +++ b/src/rstd/collections/pair.rs @@ -7,6 +7,7 @@ use crate::atomic::*; use crate::mode::*; use crate::rcore::*; use crate::rstd::inlining::static_pair::*; +use crate::rstd::inlining::*; pub type PairObject = StaticPairObject<(A, B)>; pub type PairFactory<'a, Ctx, A, B> = StaticPairFactory<'a, Ctx, (A, B)>; @@ -173,6 +174,16 @@ impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>, B: Mentionable<'a, Ctx>> Men } } +impl<'a, Ctx: Context<'a>, FA, FB> FixedSizeFactory<'a, Ctx> for (FA, FB) +where + FA: FixedSizeFactory<'a, Ctx>, + FB: FixedSizeFactory<'a, Ctx> + FactoryModeParse<'a, Ctx>, +{ + fn size(&self) -> usize { + self.0.size() + self.1.size() + } +} + impl AtomicModeParse for (A, B) { fn ma_deserialize(stream: I) -> AModeResultM { StaticPairObject::::ma_deserialize_sp(stream)