pub struct PillarMetadata { /* private fields */ }Expand description
Pillar metadata for tagging modules, functions, or features
This type allows associating one or more pillars with code entities. It’s used for compile-time tagging and can be extracted from documentation comments or set programmatically.
Implementations§
Source§impl PillarMetadata
impl PillarMetadata
Sourcepub fn with_pillar(self, pillar: Pillar) -> Self
pub fn with_pillar(self, pillar: Pillar) -> Self
Create pillar metadata with a single pillar
Sourcepub fn with_pillars(self, pillars: &[Pillar]) -> Self
pub fn with_pillars(self, pillars: &[Pillar]) -> Self
Create pillar metadata with multiple pillars
Sourcepub fn add_pillar(&mut self, pillar: Pillar)
pub fn add_pillar(&mut self, pillar: Pillar)
Add a pillar to existing metadata
Sourcepub fn has_pillar(&self, pillar: Pillar) -> bool
pub fn has_pillar(&self, pillar: Pillar) -> bool
Check if metadata contains a specific pillar
Format pillars as changelog-style tags (e.g., “[Reality][AI]”)
Sourcepub fn from_doc_comment(doc: &str) -> Option<Self>
pub fn from_doc_comment(doc: &str) -> Option<Self>
Parse pillar metadata from documentation comment
Looks for patterns like:
Pillars: [Reality][AI]Pillar: [Reality]//! Pillars: [Reality][AI]
§Examples
use mockforge_core::pillars::{Pillar, PillarMetadata};
let doc = "//! Pillars: [Reality][AI]\n//! This module does something";
let metadata = PillarMetadata::from_doc_comment(doc).unwrap();
assert!(metadata.has_pillar(Pillar::Reality));
assert!(metadata.has_pillar(Pillar::Ai));Trait Implementations§
Source§impl Clone for PillarMetadata
impl Clone for PillarMetadata
Source§fn clone(&self) -> PillarMetadata
fn clone(&self) -> PillarMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PillarMetadata
impl Debug for PillarMetadata
Source§impl Default for PillarMetadata
impl Default for PillarMetadata
Source§impl<'de> Deserialize<'de> for PillarMetadata
impl<'de> Deserialize<'de> for PillarMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&[Pillar]> for PillarMetadata
impl From<&[Pillar]> for PillarMetadata
Source§impl PartialEq for PillarMetadata
impl PartialEq for PillarMetadata
Source§impl Serialize for PillarMetadata
impl Serialize for PillarMetadata
impl Eq for PillarMetadata
impl StructuralPartialEq for PillarMetadata
Auto Trait Implementations§
impl Freeze for PillarMetadata
impl RefUnwindSafe for PillarMetadata
impl Send for PillarMetadata
impl Sync for PillarMetadata
impl Unpin for PillarMetadata
impl UnwindSafe for PillarMetadata
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
Converts
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>
Converts
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