InlineableAtomic implies Atomic

This commit is contained in:
AF 2023-05-05 21:38:47 +00:00
parent 73535fcf7d
commit 0340c25c86

View File

@ -41,7 +41,7 @@ pub trait ConstSizeObject<'a, Ctx: 'a + Context>: FixedSizeObject<'a, Ctx> {
} }
/// Atomic analogue of [`InlineableFactory`]/[`InlineableObject`]. /// Atomic analogue of [`InlineableFactory`]/[`InlineableObject`].
pub trait InlineableAtomic {} pub trait InlineableAtomic: Atomic {}
/// Atomic analogue of [`ConstSizeFactory`]/[`ConstSizeObject`]. /// Atomic analogue of [`ConstSizeFactory`]/[`ConstSizeObject`].
/// ///
@ -54,15 +54,15 @@ pub trait ConstSizeAtomic: InlineableAtomic {
impl<A: ConstSizeAtomic> InlineableAtomic for A {} impl<A: ConstSizeAtomic> InlineableAtomic for A {}
impl<A: Atomic + InlineableAtomic> InlineableFactory for AtomicFactory<A> {} impl<A: InlineableAtomic> InlineableFactory for AtomicFactory<A> {}
impl<A: Atomic + ConstSizeAtomic> FixedSizeFactory for AtomicFactory<A> { impl<A: ConstSizeAtomic> FixedSizeFactory for AtomicFactory<A> {
fn size(&self) -> usize { fn size(&self) -> usize {
A::SIZE A::SIZE
} }
} }
impl<A: Atomic + ConstSizeAtomic> ConstSizeFactory for AtomicFactory<A> { impl<A: ConstSizeAtomic> ConstSizeFactory for AtomicFactory<A> {
const SIZE: usize = A::SIZE; const SIZE: usize = A::SIZE;
} }