From 7c64e38954dc4c07e2ce074dff36741a591a24f0 Mon Sep 17 00:00:00 2001 From: timofey Date: Sat, 29 Jul 2023 20:19:38 +0000 Subject: [PATCH] decouple `InliningAtomic` from `ImplMode` --- src/rstd/inlining.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/rstd/inlining.rs b/src/rstd/inlining.rs index e56b5a3..cf3dc61 100644 --- a/src/rstd/inlining.rs +++ b/src/rstd/inlining.rs @@ -53,7 +53,7 @@ pub trait ConstSizeObject<'a, Ctx: Context<'a>>: FixedSizeObject<'a, Ctx> { pub type ADParseResult = Result<(A, D), AParseError>; /// Atomic analogue of [`InliningFactory`]/[`InliningObject`]. -pub trait InliningAtomic: AtomicBase + ImplMode { +pub trait InliningAtomic: AtomicBase + ParseMode { fn a_extension_error(tail: &[u8]) -> Self::AParseError; fn a_ideserialize(inlining: D) -> ADParseResult; @@ -68,7 +68,8 @@ pub trait ConstSizeAtomic: InliningAtomic { const SIZE: usize; } -impl<'a, Ctx: Context<'a>, A: InliningAtomic> InliningFactory<'a, Ctx> for AtomicFactory +impl<'a, Ctx: Context<'a>, A: ImplMode + InliningAtomic> InliningFactory<'a, Ctx> + for AtomicFactory where ::WithMode: AoProxy<'a, Ctx, Fctr = Self, A = A>, { @@ -85,7 +86,8 @@ where } } -impl<'a, Ctx: Context<'a>, A: ConstSizeAtomic> FixedSizeFactory<'a, Ctx> for AtomicFactory +impl<'a, Ctx: Context<'a>, A: ImplMode + ConstSizeAtomic> FixedSizeFactory<'a, Ctx> + for AtomicFactory where ::WithMode: AoProxy<'a, Ctx, Fctr = Self, A = A>, { @@ -94,7 +96,8 @@ where } } -impl<'a, Ctx: Context<'a>, A: ConstSizeAtomic> ConstSizeFactory<'a, Ctx> for AtomicFactory +impl<'a, Ctx: Context<'a>, A: ImplMode + ConstSizeAtomic> ConstSizeFactory<'a, Ctx> + for AtomicFactory where ::WithMode: AoProxy<'a, Ctx, Fctr = Self, A = A>, {