Skip to main content

DiagnosticDef

Struct DiagnosticDef 

Source
pub struct DiagnosticDef { /* private fields */ }
Expand description

Registry entry: one code, its slug, default severity, category, owner, summary.

Constructed only by define_codes!. Fields are read through the accessors; there is no public constructor and no public field, so an outside crate cannot forge a def that reuses an existing code with a different slug or severity.

§Examples

use mos_core::{DiagnosticCategory, Severity, codes};

assert_eq!(codes::MOS0018.default_severity(), Severity::Notice);
assert_eq!(codes::MOS0018.category(), DiagnosticCategory::Text);
assert_eq!(codes::MOS0018.owner(), "mos-fonts");

Implementations§

Source§

impl DiagnosticDef

Source

pub const fn code(&self) -> DiagnosticCode

The stable identifier.

§Examples
use mos_core::codes;

assert_eq!(codes::MOS0033.code().to_string(), "MOS0033");
Source

pub const fn slug(&self) -> &'static str

The machine-readable kebab-case handle (e.g. "label-duplicate").

§Examples
use mos_core::codes;

assert_eq!(codes::MOS0033.slug(), "label-missing");
Source

pub const fn default_severity(&self) -> Severity

The severity this code carries unless overridden by future config.

§Examples
use mos_core::{Severity, codes};

assert_eq!(codes::MOS0033.default_severity(), Severity::Error);
Source

pub const fn category(&self) -> DiagnosticCategory

What kind of thing this code describes. Used by the catalog to group rules; never folded into identity.

§Examples
use mos_core::{DiagnosticCategory, codes};

assert_eq!(codes::MOS0033.category(), DiagnosticCategory::Semantic);
Source

pub const fn owner(&self) -> &'static str

The crate that owns the emit site(s).

§Examples
use mos_core::codes;

assert_eq!(codes::MOS0033.owner(), "mos-eval");
Source

pub const fn summary(&self) -> &'static str

One-line human summary, mirrored verbatim into the catalog.

§Examples
use mos_core::codes;

assert!(codes::MOS0033.summary().contains("@reference"));

Trait Implementations§

Source§

impl Debug for DiagnosticDef

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.