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>, {