"Base"s docs

This commit is contained in:
AF 2023-07-30 17:08:57 +00:00
parent 00cd62ce90
commit c9287c97d4
2 changed files with 6 additions and 4 deletions

View File

@ -51,7 +51,7 @@ pub use self::slice_deserializer::SliceDeserializer;
/// Helper alias for [`WeakFunctor::F`] of [`FunctorContext::T`].
pub type Wrapped<'a, Ctx, A> = WrapC<'a, A, Ctx>;
/// Fundamental trait for ADN objects.
/// Base for [`Mentionable`].
pub trait MentionableBase<'a, Ctx: Context<'a>>: 'a + Serializable + Sized {
/// Type of the associated factory.
type Fctr: FactoryBase<'a, Ctx, Mtbl = Self>;
@ -78,6 +78,7 @@ pub trait MentionableTop<'a, Ctx: Context<'a>>: 'a {
Self: Mentionable<'a, Ctx>;
}
/// Fundamental trait for ADN objects.
pub trait Mentionable<'a, Ctx: Context<'a>>:
MentionableBase<'a, Ctx, Fctr = Self::_Fctr> + MentionableTop<'a, Ctx>
{

View File

@ -24,14 +24,15 @@ pub type AParseError<A> = <A as AtomicBase>::AParseError;
pub type AParseResult<A> = Result<A, AParseError<A>>;
/// This trait combines functionality of [`Mentionable`] and [`Factory`],
/// while limiting [`MentionableTop::points_typed`] (and corresponding [`MentionableTop::topology`])
/// to an empty sequence.
/// Base for [`Atomic`].
pub trait AtomicBase: 'static + Send + Sync + Send + Clone + Serializable {
/// Equivalent of [`FactoryBase::ParseError`].
type AParseError: Error;
}
/// This trait combines functionality of [`Mentionable`] and [`Factory`],
/// while limiting [`MentionableTop::points_typed`] (and corresponding [`MentionableTop::topology`])
/// to an empty sequence.
pub trait Atomic: AtomicBase + ParseMode {
/// Static equivalent of [`FactoryParse::deserialize`].
fn a_deserialize(inlining: impl Inlining) -> AParseResult<Self>;