pub struct PublishedMemConfig {
pub format: u32,
pub name: String,
pub version: Version,
pub description: Option<String>,
pub title: Option<String>,
pub subject: Option<MemSubject>,
pub authors: Option<Vec<String>>,
pub schema: SchemaRef,
}Expand description
Strict-ingress shape of a mem config. This is the only metadata
form that enters a .mem archive. MemConfig carries author-only
fields (writeGuidance, rules, publish, readMems, language,
community, defaultSchema, vcs, plus any key captured in
extra) that never belong in a published archive;
published_config_from projects MemConfig →
PublishedMemConfig, dropping everything outside the whitelist.
deny_unknown_fields + no serde(flatten) on purpose: the validator
re-parses this shape with the same struct as defense-in-depth, so any
legacy author key smuggled into an archive surfaces as a rejection
instead of a silently-tolerated payload.
Fields§
§format: u32§name: String§version: Version§description: Option<String>§title: Option<String>Human-readable display title (format ≥ 4). Display text, not identity — a format-3 archive simply has none.
subject: Option<MemSubject>The mem’s subject block (format ≥ 4), published verbatim — exclusions included and in order.
schema: SchemaRefTrait Implementations§
Source§impl Clone for PublishedMemConfig
impl Clone for PublishedMemConfig
Source§fn clone(&self) -> PublishedMemConfig
fn clone(&self) -> PublishedMemConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PublishedMemConfig
impl Debug for PublishedMemConfig
Source§impl<'de> Deserialize<'de> for PublishedMemConfig
impl<'de> Deserialize<'de> for PublishedMemConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PublishedMemConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PublishedMemConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for PublishedMemConfig
impl Serialize for PublishedMemConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for PublishedMemConfig
impl RefUnwindSafe for PublishedMemConfig
impl Send for PublishedMemConfig
impl Sync for PublishedMemConfig
impl Unpin for PublishedMemConfig
impl UnsafeUnpin for PublishedMemConfig
impl UnwindSafe for PublishedMemConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more