diff --git a/src/atomic.rs b/src/atomic.rs
index 2817a32..62f7f3f 100644
--- a/src/atomic.rs
+++ b/src/atomic.rs
@@ -1,3 +1,4 @@
+mod inlining;
mod modes;
mod regular;
@@ -5,6 +6,7 @@ use std::error::Error;
use crate::mode::*;
+pub use self::inlining::{AIParseResult, CInliningAtomic, InliningAtomic};
pub use self::modes::{
AExtensionResultM, AExtensionSourceM, AModeResultM, AtomicModeParse, AtomicModeProxy,
};
diff --git a/src/atomic/inlining.rs b/src/atomic/inlining.rs
new file mode 100644
index 0000000..dad4fc0
--- /dev/null
+++ b/src/atomic/inlining.rs
@@ -0,0 +1,29 @@
+pub use super::*;
+
+pub type AIParseResult = Result<(A, I), AParseError>;
+
+pub trait CInliningAtomic: AtomicBase + ImplMode {
+ fn ca_extension_error(tail: &[u8]) -> Self::AParseError;
+
+ fn ca_ideserialize(stream: I) -> AIParseResult;
+}
+
+/// Atomic analogue of [`InliningFactory`]/[`InliningObject`].
+///
+/// [`InliningFactory`]: crate::rstd::inlining::InliningFactory
+/// [`InliningObject`]: crate::rstd::inlining::InliningObject
+pub trait InliningAtomic: AtomicBase + ParseMode {
+ fn a_extension_error(tail: &[u8]) -> Self::AParseError;
+
+ fn a_ideserialize(strean: I) -> AIParseResult;
+}
+
+impl> InliningAtomic for A {
+ fn a_extension_error(tail: &[u8]) -> Self::AParseError {
+ A::ma_extend((), tail)
+ }
+
+ fn a_ideserialize(stream: I) -> AIParseResult {
+ A::ma_deserialize(stream)
+ }
+}
diff --git a/src/rstd/collections/tree.rs b/src/rstd/collections/tree.rs
index 23a5a1b..dfb13f8 100644
--- a/src/rstd/collections/tree.rs
+++ b/src/rstd/collections/tree.rs
@@ -1,3 +1,4 @@
+use crate::atomic::*;
pub mod context;
use std::{error::Error, fmt::Display};
diff --git a/src/rstd/inlining.rs b/src/rstd/inlining.rs
index 25ad96e..1d56d9d 100644
--- a/src/rstd/inlining.rs
+++ b/src/rstd/inlining.rs
@@ -67,31 +67,6 @@ pub trait ConstSizeObject<'a, Ctx: Context<'a>>: FixedSizeObject<'a, Ctx> {
const SIZE: usize;
}
-pub type AIParseResult = Result<(A, I), AParseError>;
-
-pub trait CInliningAtomic: AtomicBase + ImplMode {
- fn ca_extension_error(tail: &[u8]) -> Self::AParseError;
-
- fn ca_ideserialize(stream: I) -> AIParseResult;
-}
-
-/// Atomic analogue of [`InliningFactory`]/[`InliningObject`].
-pub trait InliningAtomic: AtomicBase + ParseMode {
- fn a_extension_error(tail: &[u8]) -> Self::AParseError;
-
- fn a_ideserialize(strean: I) -> AIParseResult;
-}
-
-impl> InliningAtomic for A {
- fn a_extension_error(tail: &[u8]) -> Self::AParseError {
- A::ma_extend((), tail)
- }
-
- fn a_ideserialize(stream: I) -> AIParseResult {
- A::ma_deserialize(stream)
- }
-}
-
/// Atomic analogue of [`ConstSizeFactory`]/[`ConstSizeObject`].
///
/// Note: `FixedSizeAtomic` doesn't exist because it would