diff --git a/src/rstd/inlining/static_pair.rs b/src/rstd/inlining/static_pair.rs index 6079e8a..2c6815a 100644 --- a/src/rstd/inlining/static_pair.rs +++ b/src/rstd/inlining/static_pair.rs @@ -176,7 +176,7 @@ where pub fn mdeserialize_sp>( factory_data: &SP::FactoryData, inctx: I, - ) -> ModeResultM<'a, Ctx, Self, I> { + ) -> ModeResultP>::ParseError, I> { let (fa, fb) = SP::factories(factory_data); let (a, inctx) = fa .ideserialize(inctx) @@ -184,7 +184,7 @@ where Self::bind( fb.mdeserialize(inctx) .map_err(|e| SP::from_error_b(factory_data, e))?, - |b| SP::from_parsed(factory_data, a, b).map(|pair| StaticPairObject { pair }), + |b| SP::from_parsed(factory_data, a, b), ) } } @@ -195,7 +195,10 @@ where SP::FB: FactoryModeParse<'a, Ctx>, { fn mdeserialize>(&self, inctx: I) -> ModeResultM<'a, Ctx, Self, I> { - Self::mdeserialize_sp(&self.factory_data, inctx) + Ok(Self::map( + Self::mdeserialize_sp(&self.factory_data, inctx)?, + |pair| StaticPairObject { pair }, + )) } fn mextend(