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