diff --git a/src/rstd/atomic/atomic_object.rs b/src/rstd/atomic/atomic_object.rs index 2007bab..1a6b839 100644 --- a/src/rstd/atomic/atomic_object.rs +++ b/src/rstd/atomic/atomic_object.rs @@ -94,7 +94,9 @@ impl ImplMode for AtomicFactory { type Mode = A::Mode; } -impl<'a, Ctx: Context<'a>, A: RegularAtomic> AoProxy<'a, Ctx> for WithMode { +impl<'a, Ctx: Context<'a>, A: RegularAtomic + ImplMode> AoProxy<'a, Ctx> + for WithMode +{ type Mtbl = AtomicObject; type Fctr = AtomicFactory; @@ -108,7 +110,9 @@ impl<'a, Ctx: Context<'a>, A: RegularAtomic> AoProxy<'a, Ctx> for WithMode, A: RegularAtomic> RegularFactory<'a, Ctx> for AtomicFactory { +impl<'a, Ctx: Context<'a>, A: RegularAtomic + ImplMode> RegularFactory<'a, Ctx> + for AtomicFactory +{ fn rdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { Ok(A::a_deserialize(inctx)?.into()) } diff --git a/src/rstd/atomic/modes.rs b/src/rstd/atomic/modes.rs index 7a051da..b38f5fa 100644 --- a/src/rstd/atomic/modes.rs +++ b/src/rstd/atomic/modes.rs @@ -63,7 +63,7 @@ where } } -pub trait RegularAtomic: AtomicBase + ImplMode { +pub trait RegularAtomic: AtomicBase + ParseMode { fn ra_deserialize(inlining: impl Inlining) -> AParseResult; fn ra_extend(self, tail: &[u8]) -> AParseResult; }