Skip to main content

Semantic

Enum Semantic 

Source
pub enum Semantic {
Show 16 variants Keyword, Symbol, KeywordArg, String, Number, Literal, Comment, Accent, Muted, Error, Warning, Info, Hint, Added, Removed, Unchanged,
}

Variants§

§

Keyword

Language keywords — defcaixa, defteia, let, lambda, etc.

§

Symbol

Non-keyword symbols — identifiers, function names, variant names.

§

KeywordArg

:keyword-positioned atoms.

§

String

"string literals".

§

Number

42, 3.14.

§

Literal

#t, #f, nil.

§

Comment

; comments.

§

Accent

Primary accent — useful for highlights, carets, focused tokens.

§

Muted

Dim text — metadata, line numbers, help text.

§

Error

§

Warning

§

Info

§

Hint

§

Added

§

Removed

§

Unchanged

Implementations§

Source§

impl Semantic

Source

pub const fn is_keyword(&self) -> bool

Source

pub const fn is_symbol(&self) -> bool

Source

pub const fn is_keyword_arg(&self) -> bool

Source

pub const fn is_string(&self) -> bool

Source

pub const fn is_number(&self) -> bool

Source

pub const fn is_literal(&self) -> bool

Source

pub const fn is_comment(&self) -> bool

Source

pub const fn is_accent(&self) -> bool

Source

pub const fn is_muted(&self) -> bool

Source

pub const fn is_error(&self) -> bool

Source

pub const fn is_warning(&self) -> bool

Source

pub const fn is_info(&self) -> bool

Source

pub const fn is_hint(&self) -> bool

Source

pub const fn is_added(&self) -> bool

Source

pub const fn is_removed(&self) -> bool

Source

pub const fn is_unchanged(&self) -> bool

Source§

impl Semantic

Source

pub const ALL: &'static [Self]

Every variant of Semantic in declaration order.

The single canonical arm-list every substrate consumer that has to walk the closed 15-arm semantic-style partition (the two theme overlays’ exhaustive-match resolver functions blackmatter_dark_color / blackmatter_light_color in crate::blackmatter, the future LSP-side per-Semantic SemanticTokenType dispatch at caixa-lsp/src/main.rs, a future feira lint --list-styles operator-facing enumeration verb) reads for. Peer of the sibling closed-set fieldless typed enums’ ALL slices already carried by [caixa_core::CaixaKind] / [caixa_core::supervisor::RestartStrategy] / [caixa_core::supervisor::RestartPolicy] / [caixa_core::aplicacao::PlacementStrategy] / [caixa_core::upgrade::UpgradeInstruction] / caixa_lint::diagnostic::Severity / caixa_lint::diagnostic::FixSafety / caixa_arch::InvariantKind / caixa_arch::ArchVerdict / caixa_provedor::FerriteRuntime closed-set typed-enum discriminator axes.

Source

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

Canonical kebab-case discriminator scalar for this variant — the single substrate-primitive &'static str projection every downstream consumer of the closed 16-arm Semantic partition (a future LSP-side per-Semantic SemanticTokenType name-mapping dispatch at caixa-lsp/src/main.rs, a future feira lint --list-styles operator-facing enumeration verb, a future caixa.nvim per-Semantic highlight-group name resolver that reaches for a stable kebab identifier per arm, a future blackmatter-shell per-arm classname the terminal emitter composes into a data-semantic="<kebab>" attribute) reaches through. Kebab-case matches the peer gen_platform::IsVariant-derived kebab discriminant convention the sibling closed-set typed enums ([caixa_core::CaixaKind::as_str], [caixa_core::supervisor::RestartStrategy::as_str], [caixa_core::supervisor::RestartPolicy::as_str], [caixa_core::aplicacao::PlacementStrategy::as_str], [caixa_core::upgrade::UpgradeInstruction::as_str], caixa_lint::diagnostic::Severity::as_str, caixa_lint::diagnostic::FixSafety::as_str, caixa_arch::InvariantKind::as_str, caixa_arch::ArchVerdict::as_str, caixa_provedor::FerriteRuntime::variant_slug) already emit on their canonical &'static str projection axis.

The 16 arms return the kebab-case forms of their PascalCase variant names (Keyword"keyword", KeywordArg"keyword-arg", Unchanged"unchanged", etc.), matching the peer closed-set typed-enum canonical byte-string conventions.

Peer of the std::fmt::Display and AsRef<str> impls on this enum, which both route through this accessor so format!("{s}"), s.as_str(), and <Semantic as AsRef<str>>::as_ref(&s) resolve to the same per-arm byte-string.

Source

pub fn from_wire(s: &str) -> Option<Self>

Reverse projection on the Semantic closed 16-arm enum’s canonical kebab-tag axis — parses a "keyword" / "symbol" / "keyword-arg" / "string" / "number" / "literal" / "comment" / "accent" / "muted" / "error" / "warning" / "info" / "hint" / "added" / "removed" / "unchanged" wire byte-string back to the typed enum, or returns None when s lies outside the 16-arm accept-set Self::as_str emits. The single &str → Self projection every future re-entry point on the caixa-theme semantic-style axis dispatches through (a future feira lint --list-styles operator-facing enumeration verb hydrating a per-arm row from a stored kebab identifier back to the typed enum before rendering, a future caixa-lsp-side per-SemanticTokenType re-parse binding a prior Self::as_str output back to the typed enum for per-Semantic-highlight dispatch, a future caixa.nvim per- Semantic highlight-group resolver re-loading a stored kebab identifier back to the typed enum, a future blackmatter-shell per-arm classname reverse-lookup binding a data-semantic="<kebab>" DOM attribute back to the typed enum for per-arm style dispatch, a tracing::field::Value::Str-arm structured-log re-loader binding a prior emission’s Self::as_str output back to the typed enum for cross-run per-Semantic-paint-histogram diff) would have had to re-inline a 16-arm match s cascade that expressed no compile-time link back to the substrate primitive.

Same closed-set-reverse-projection discipline the sibling [caixa_core::CaixaKind::from_wire] (2aa6d23), [caixa_core::CaixaDialeto::from_wire] (d0e65ea), [caixa_core::supervisor::RestartStrategy::from_wire] (4eec29c), [caixa_core::supervisor::RestartPolicy::from_wire] (dd32ccf), [caixa_core::aplicacao::PlacementStrategy::from_wire] (18c7342), [caixa_core::dep::DepList::from_wire] (45ee563), [caixa_core::render::PathShapeViolation::from_wire] (aebd9c6), caixa_arch::invariants::InvariantKind::from_wire (b9e4e61), caixa_arch::report::ArchVerdict::from_wire (6afe564), caixa_lint::diagnostic::Severity::from_wire (5afff0e), and caixa_lint::diagnostic::FixSafety::from_wire (bd505a1) typed enums carry on the peer wire-side str → Self axes — extends the substrate-wide (as_str, from_wire) round-trip family onto the caixa-theme closed-set fieldless typed-enum axis (the first closed-set fieldless typed enum on caixa-theme to converge on the reverse-projection discipline), matching the same two-way str ↔ Self round-trip every sibling closed-set enum already carries. Method-named from_wire (not from_str) to match the peer shapes verbatim and side-step a clippy::should_implement_trait lint that a plain from_str name would otherwise trigger without paired std::str::FromStr impl scaffolding this axis does not carry today. Returns Option<Self> (rather than Result<Self, _>) to match the peer shapes: the caller picks the diagnostic form appropriate for its use site (a feira lint --list-styles CLI arg-parse renders its own per-verb error message; a future admission-webhook rejection body wraps the None outcome with the accepted-set enumeration Semantic::ALL.iter().map(…) for operator diagnostics).

Pinned load-bearing at the substrate-primitive level by [tests::semantic_from_wire_accepts_every_as_str_output] (round-trip witness against the peer Self::as_str axis) and [tests::semantic_from_wire_rejects_unknown_byte_strings] (rejection witness against silent accept-set widening).

Trait Implementations§

Source§

impl AsRef<str> for Semantic

Substrate-canonical AsRef<str> projection on the caixa-theme Semantic closed-set fieldless typed enum — routes through the same Semantic::as_str pub const fn scalar accessor the paired std::fmt::Display impl already reaches for.

Peer of the sibling AsRef<str> impls the substrate carries on [caixa_core::CaixaKind], [caixa_core::CaixaVersion], [caixa_core::CaixaDialeto], [caixa_core::dep::DepList], [caixa_core::supervisor::RestartStrategy], [caixa_core::supervisor::RestartPolicy], [caixa_core::aplicacao::PlacementStrategy], [caixa_core::aplicacao::RateLimitUnit], caixa_lint::diagnostic::Severity, caixa_arch::InvariantKind, caixa_arch::ArchVerdict, caixa_provedor::FerriteRuntime — extends the substrate-wide (as_str, AsRef<str>, Display) canonical-projection triple onto the caixa-theme closed-set typed-enum axis, so a future consumer bound through the trait-idiomatic .as_ref() (a HashMap::get::<str>(sem.as_ref()) per-Semantic style-lookup, a future caixa-lsp SemanticTokenType::new(sem.as_ref()) registration site, any impl AsRef<str>-bound generic function) reaches the same kebab byte-string Semantic::as_str returns rather than an open-coded .as_str() projection at every wire-up.

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for Semantic

Source§

fn clone(&self) -> Semantic

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Semantic

Source§

impl Debug for Semantic

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Semantic

Source§

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 Display for Semantic

std::fmt::Display routed through Semantic::as_str, so the pretty-printed byte-string every consumer that formats the semantic style as user-facing text lands on (a future feira lint --list-styles operator-facing enumeration verb’s per-arm line, a future caixa-lsp diagnostic-source line naming the offending semantic, a future caixa.nvim per-Semantic highlight-group name emitter, a tracing::field::display(&sem) structured-log recorder on the paint-side emit path) reaches for the same lifted kebab-case per-arm byte-string Semantic::as_str returns.

Peer of the sibling std::fmt::Display impls on the closed-set typed enums the substrate carries — [caixa_core::CaixaKind], [caixa_core::supervisor::RestartStrategy], [caixa_core::supervisor::RestartPolicy], [caixa_core::aplicacao::PlacementStrategy], [caixa_core::upgrade::UpgradeInstruction], caixa_lint::diagnostic::Severity, caixa_lint::diagnostic::FixSafety, caixa_arch::InvariantKind, caixa_arch::ArchVerdict, caixa_provedor::FerriteRuntime — extended to the second-to-last un-lifted caixa-theme closed-set fieldless typed enum on the substrate-wide (as_str, AsRef<str>, Display) canonical-projection triple ratchet the prior lifts converged onto.

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for Semantic

Source§

impl From<&Semantic> for &'static str

Trait-idiomatic borrowed-input forward projection on the Semantic closed 16-arm caixa-theme semantic-style axis onto the &'static str axis — the borrowed-input companion to the paired owned-input [From<Semantic> for &'static str] impl immediately above. Routes byte-for-byte through the same substrate-primitive Semantic::as_str pub const fn accessor so every consumer that binds a &Semantic through the standard-library .into() / [From<&Self> for &'static str] axis (a Semantic::ALL.iter().map(<&'static str>::from).collect::<Vec<_>>() per-arm accept-set materializer — whose iterator over &'static [Semantic] yields &Semantic, not Semantic, so the owned-input From<Semantic> axis alone forces every call site through an explicit .copied() / dereference / Copy-bound restatement rather than the direct trait-idiomatic projection; a future feira lint --list-styles operator-facing enumeration verb composed via Semantic::ALL.iter().map(Into::into); a future caixa-lsp per-SemanticTokenType registration walk that borrows &Semantic off a stored per-style row; a future caixa.nvim per- highlight-group re-loader that borrows &Semantic off the loaded theme-overlay table; a future HashMap::<&'static str, _>::from_iter(Semantic::ALL.iter().map( |sem| (<&'static str>::from(sem), 0))) per-Semantic-paint histogram seed a future blackmatter-shell per-arm data-semantic="<kebab>" DOM-attribute emit path composes) reaches the same 16-arm "keyword" / "symbol" / "keyword-arg" / "string" / "number" / "literal" / "comment" / "accent" / "muted" / "error" / "warning" / "info" / "hint" / "added" / "removed" / "unchanged" canonical-lowercase kebab emit-set the paired owned-input [From<Semantic> for &'static str], the sibling std::fmt::Display, AsRef<str>, and Semantic::as_str surfaces already return.

Fifteenth and final peer on the substrate-wide trait-idiomatic borrowed-input &'static str-returning forward-projection family already carried by [caixa_core::dep::DepList] (64aa742, first-mover), [caixa_core::CaixaKind], [caixa_core::CaixaDialeto], [caixa_core::supervisor::RestartStrategy], [caixa_core::supervisor::RestartPolicy], [caixa_core::aplicacao::PlacementStrategy], [caixa_core::aplicacao::WitShape], [caixa_core::aplicacao::RateLimitUnit], [caixa_core::render::PathShapeViolation] (cdf4e95, first render- side arm), [caixa_arch::invariants::InvariantKind] (238d886, first outside-caixa-core arm), [caixa_arch::report::ArchVerdict] (73bda50), caixa_lint::diagnostic::Severity (2b9003f), caixa_lint::diagnostic::FixSafety (d8769ab), and caixa_provedor::FerriteRuntime (676d693). Rust’s From trait does not auto-derive the From<&Self> sibling from a From<Self> impl (the blanket impl<T, U> From<&T> for U where T: Copy, U: From<T> does not exist in core), so every closed-set typed enum that carries the owned-input axis but not the borrowed-input axis forces every borrowed-input call site through a .copied() / <&'static str>::from(*sem) / sem.as_str() detour whose type bounds have no compile-time link to the substrate primitive. Lifting the borrowed-input axis on the caixa-theme semantic-style 16-arm closed-set fieldless typed enum closes that gap on the same trajectory the paired owned-input axis ([impl From<Semantic> for &'static str] immediately above) already opened, and closes the trait-idiomatic borrowed-input &'static str-returning axis on the last remaining substrate-wide closed-set fieldless typed enum whose borrowed-input axis was still open — the substrate-wide 2×2-completion campaign now covers every closed-set fieldless typed enum on the caixa surface on the borrowed-input &'static str-returning axis.

Pinned load-bearing by [tests::semantic_from_borrowed_into_static_str_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the 16-arm emit-set via a borrowed input, plus a const-context materialization witness for the &'static str lifetime promise) and [tests::semantic_from_owned_and_borrowed_into_static_str_agree_on_every_arm] (cross-axis partition pin against the paired owned-input [From<Semantic> for &'static str] impl, plus a .iter().map(Into::into) pipe witness over Semantic::ALL whose iterator yields &Semantic by construction so this borrowed-input axis is what routes the pipe through the substrate-primitive accessor without a spurious Copy deref).

Source§

fn from(sem: &Semantic) -> &'static str

Converts to this type from the input type.
Source§

impl From<&Semantic> for String

Trait-idiomatic borrowed-input, owned-String output forward projection on the Semantic closed 16-arm caixa-theme semantic- style axis — the borrowed-input companion to the paired owned- input [From<Semantic> for String] (5ea146c) immediately above, the paired borrowed-input [From<&Semantic> for &'static str] (ffc0f26), and the paired owned-input [From<Semantic> for &'static str] siblings above. Routes byte- for-byte through the substrate-primitive Semantic::as_str pub const fn accessor via str::to_owned so every consumer that binds a Semantic through the standard-library .into() / [From<&Self> for String] axis reaches the same 16-arm "keyword" / "symbol" / "keyword-arg" / "string" / "number" / "literal" / "comment" / "accent" / "muted" / "error" / "warning" / "info" / "hint" / "added" / "removed" / "unchanged" canonical-lowercase kebab emit-set the paired std::fmt::Display, AsRef<str>, Semantic::as_str, and the three other trait-idiomatic forward-projection impls already return — no sem.as_str().to_owned() / String::from(*sem) (with a spurious Copy deref) / sem.to_string() (through std::fmt::Display) detour whose type bounds have no compile- time link to the substrate primitive.

Fills the last remaining corner of the substrate-wide {Self, &Self} × {&'static str, String} 2×2 trait-idiomatic projection family on the sole closed-set fieldless typed enum on the caixa-theme surface — and, by construction, the final corner on the entire substrate-wide closed-set fieldless typed- enum roster on the caixa surface, closing the substrate-wide 2×2-completion campaign that opened on [caixa_core::supervisor::RestartStrategy] (579385f, first-mover on the borrowed-input owned-String axis). Rust’s standard library carries no blanket impl<T: AsRef<str>> From<&T> for String (nor an impl<T: fmt::Display> From<&T> for String), so every borrowed- input owned-string call site — a future serde_json::Value::String(String::from(&sem)) structured-payload composer over a borrowed per-style row where the [serde_json::Value::String] arm typing demands an owned String and the sibling &'static str-returning axes force an explicit .to_owned() / String::from restatement, a future Semantic::ALL.iter().map(String::from).collect::<Vec<_>>() per- arm accept-set materializer on a future feira lint --list-styles operator-facing enumeration verb whose iterator yields &Semantic by construction (so the borrowed-input owned-String axis is what routes the pipe through the substrate-primitive Semantic::as_str accessor without a spurious .copied() / Copy-bound dereference), a future HashMap::<String, usize>::from_iter(Semantic::ALL.iter().map(|sem| (String::from(sem), 0))) per-Semantic-paint histogram seed a future blackmatter-shell per-arm data-semantic="<kebab>" DOM-attribute emit path composes off a borrowed &Semantic off the loaded theme-overlay table, a future caixa-lsp per-SemanticTokenType registration walk borrowing off a stored per-style row, a future caixa.nvim per-highlight-group re-loader borrowing off the loaded theme- overlay table where the runtime stores the owned kebab identifier as String — otherwise resolves through the detour above.

Closing this corner locks the caixa-theme semantic-style enum’s whole 2×2 trait-idiomatic projection family onto a single Semantic::as_str-routed emit-set — any future arm addition (a Namespace tier between [Self::Symbol] and [Self::KeywordArg] for the M4 tatara-lisp module system’s qualified-name semantic- token dispatch, a Deleted tier for a hard-delete-mark distinct from [Self::Removed] the future 3-way diff surface grows — both trajectory items the sibling Semantic::ALL doc block already names) reaches every projection path through exactly one caixa- theme edit on the Semantic::as_str pub const fn accessor, and the partition pin trips at test time on the first detour that drifts a corner off.

Sixteenth and final peer on the substrate-wide trait-idiomatic borrowed-input, owned-String output forward-projection family, closing the substrate-wide 2×2-completion campaign across every closed-set fieldless typed enum on the caixa surface — opened on [caixa_core::supervisor::RestartStrategy] (579385f), extended through [caixa_core::supervisor::RestartPolicy] (8465740), [caixa_core::dep::DepList] (e0cb617), [caixa_core::CaixaKind] (e76436d), [caixa_core::CaixaDialeto] (d3c0d1d), [caixa_core::aplicacao::PlacementStrategy] (d3dc000), [caixa_core::aplicacao::WitShape] (d638fd3), [caixa_core::aplicacao::RateLimitUnit] (6424e45 — closing the whole M3 mesh-primitive triple’s 2×2 corner), [caixa_core::render::PathShapeViolation] (b90e193 — first outside-manifest-surface arm on this axis), [caixa_arch::invariants::InvariantKind] (3c3f66f — first outside-caixa-core arm), [caixa_arch::report::ArchVerdict] (3cfb3b5 — second outside- caixa-core arm), caixa_lint::diagnostic::Severity (9518ab9 — third outside-caixa-core arm), caixa_lint::diagnostic::FixSafety (807f67d — fourth outside- caixa-core arm), and caixa_provedor::FerriteRuntime (0caedec — fifth outside-caixa-core arm), and now this lift on the sixth-and-last outside-caixa-core closed-set enum — the caixa- theme semantic-style 16-arm axis every per-Semantic paint dispatch, every future caixa-lsp per-SemanticTokenType wire- up, every future caixa.nvim per-highlight-group re-loader, and every future blackmatter-shell per-arm data-semantic="<kebab>" DOM emission keys off. Every future closed-set fieldless typed enum lifted onto the caixa surface picks up the same 2×2 trait- idiomatic projection family by construction as the substrate discipline.

Same three-path convergence discipline as the paired owned-input impl (this borrowed-input axis, the paired owned-input [From<Semantic> for String], and Semantic::as_str all route through the same 16-arm inline canonical-lowercase kebab byte-strings), so a future arm addition reaches every one of the paired forward-projection paths through exactly one caixa-theme edit on the Semantic::as_str pub const fn accessor.

The Semantic::as_str emit and Semantic::from_wire parse share the same 16 inline canonical-lowercase kebab byte-strings by construction — so the borrowed-input owned-String forward axis and the reverse TryFrom<&str> axis compose directly (via the owned-String’s String::as_str borrow) without an intermediate wire-vocab hop. The round-trip witness pin below locks this direct composition on the caixa-theme semantic-style enum’s borrowed-input owned-String axis pair.

Pinned load-bearing by [tests::semantic_from_borrowed_into_owned_string_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the 16-arm emit-set through the borrowed-input surface, plus a blanket- derived Into<String> shape witness) and [tests::semantic_from_borrowed_into_owned_string_agrees_with_paired_axes_on_every_arm] (cross-axis partition pin against every one of the four 2×2 corners — the paired owned-input owned-String [From<Semantic> for String] impl (5ea146c), the paired borrowed-input owned-[&'static str] [From<&Semantic> for &'static str] impl (ffc0f26), and the paired owned-input owned-[&'static str] [From<Semantic> for &'static str] impl — plus a ToString::to_string-through-std::fmt::Display byte-parity witness, plus a .iter().map(String::from) pipe witness over Semantic::ALL (whose iterator yields &Semantic by construction, so the borrowed-input owned-String axis is what routes the pipe through the substrate-primitive Semantic::as_str accessor without a spurious Copy deref), plus a direct round-trip witness through TryFrom<&str> on the owned-String’s String::as_str borrow that closes the two- way &Self → String → Self round-trip on the trait-idiomatic borrowed-input owned-String forward + reverse axis pair).

Source§

fn from(sem: &Semantic) -> String

Converts to this type from the input type.
Source§

impl From<&Semantic> for Cow<'static, str>

Trait-idiomatic borrowed-input forward projection on the sixteen- arm semantic-style Semantic closed-set fieldless typed enum onto the std::borrow::Cow<'static, str> axis — the borrowed-input companion to the paired owned-input [From<Semantic> for std::borrow::Cow<'static, str>] impl (0253688) immediately above, and the corner that closes the whole substrate- wide {Self, &Self} × {&'static str, String, Cow<'static, str>} 2×3 trait-idiomatic forward-projection family on the caixa-theme semantic-style sixteen-arm closed-set fieldless typed enum. Routes byte-for-byte through the substrate-primitive Semantic::as_str pub const fn accessor via std::borrow::Cow::Borrowed so every consumer that binds a &Semantic through the standard-library .into() / [From<&Self> for std::borrow::Cow<'static, str>] axis — the exact Semantic::ALL.iter().map(std::borrow::Cow::from).collect() pipe shape a future feira lint --list-styles CLI enumeration whose iterator yields &Semantic by construction, a future .iter().map(|tok| std::borrow::Cow::from(&tok.semantic)).collect() per-token fan-out over &[SemanticToken] in a future caixa-lsp- side per-SemanticTokenType registration walk whose borrowed access off &SemanticToken.semantic avoids a spurious Copy-bound dereference on the semantic-style field, a future caixa.nvim per- highlight-group re-loader whose per-&Semantic kebab identifier is bound through a std::borrow::Cow<'static, str> field so a theme- overlay row can carry either a static kebab or a per-scheme override without duplicating the enum-parameterized field type, a future blackmatter-shell per-arm data-semantic="<kebab>" DOM emission composer over an iterator-yielded &Semantic, or a future axum::response::IntoResponse per-semantic paint audit column over an iterator-yielded &Semantic reaches — resolves to the same 16-arm "keyword" / "symbol" / "keyword-arg" / "string" / "number" / "literal" / "comment" / "accent" / "muted" / "error" / "warning" / "info" / "hint" / "added" / "removed" / "unchanged" canonical-lowercase kebab byte-strings the paired std::fmt::Display, AsRef<str>, Semantic::as_str, the four {Self, &Self} × {&'static str, String} 2×2 trait-idiomatic forward-projection corners, and the paired owned-input [From<Semantic> for std::borrow::Cow<'static, str>] impl already return.

Deliberately returns std::borrow::Cow::Borrowed rather than std::borrow::Cow::Owned — the substrate-primitive Semantic::as_str accessor’s return carries the &'static str lifetime by construction (each match arm resolves to an inline &'static str literal), so the zero-alloc borrowed arm is the type-correct projection with no runtime allocation on the borrowed- input surface just as on the paired owned-input surface.

Closes the {Self, &Self} input-shape corner on the fifth outside- caixa-core peer of the substrate-wide std::borrow::Cow<'static, str> forward-projection campaign, opened one commit prior (0253688) on the paired owned-input impl. Rust’s standard library does not carry a blanket impl<T: AsRef<str>> From<&T> for std::borrow::Cow<'static, str> (nor an impl<T: fmt::Display> From<&T> for std::borrow::Cow<'static, str>, nor a Copy-based impl<T: Copy, U: From<T>> From<&T> for U), so every closed-set fieldless typed enum peer on the substrate that carries the paired owned-input std::borrow::Cow<'static, str> axis but not the borrowed-input axis forces every borrowed-input std::borrow::Cow<'static, str>-parameterized call site through a spurious Copy deref (std::borrow::Cow::from(*sem)) or a std::borrow::Cow::Borrowed(sem.as_str()) open-code whose type bounds have no compile-time link to the substrate primitive.

Matches the closure discipline the sibling [caixa_lint::diagnostic::FixSafety] (9a6539f) landed one commit after (79010c5) closing the whole caixa-lint fix-safety-tier 2×3 corner on the fourth outside-caixa-core peer, [caixa_lint::diagnostic::Severity] (1819087) one commit after (700a95e) closing the whole caixa-lint diagnostic-severity 2×3 corner on the third outside-caixa-core peer, [caixa_arch::report::ArchVerdict] (1adb287) one commit after (b492d5f) closing the whole caixa-arch verdict-outcome 2×3 corner on the second outside-caixa-core peer, d7f3039 on the sibling caixa-arch [caixa_arch::invariants::InvariantKind] one commit after (9361e96), f80fbd6 on the render-side [caixa_core::render::PathShapeViolation] one commit after (7342c32), ebeb9e0 on the outside-M3 [caixa_core::CaixaDialeto] one commit after 8322511, 702cdf4 on the two-list dep-graph [caixa_core::dep::DepList] one commit after 6858bac, afdf0f4 on the M3-mesh-shape [caixa_core::aplicacao::PlacementStrategy] one commit after eee504d, 25690ef on [caixa_core::aplicacao::WitShape] one commit after 8634dec, 53346fb on [caixa_core::aplicacao::RateLimitUnit] one commit after 1d59925 (closing the whole M3 mesh-shape tier), d45c409 on the top-level [caixa_core::CaixaKind] one commit after 99c1735, and 9b3e4b3 / ee577fd on the M2 OTP-shape [caixa_core::supervisor::RestartStrategy] / [caixa_core::supervisor::RestartPolicy] sibling peers one commit after 7dd28b3 / 0612398. Closes the whole caixa-theme semantic- style sixteen-arm 2×3 corner ({Self, &Self} × {&'static str, String, Cow<'static, str>}); the remaining outside-caixa-core peer (caixa_provedor::FerriteRuntime) is the only future target left on the axis.

Like the sibling [caixa_lint::diagnostic::FixSafety] and [caixa_lint::diagnostic::Severity] pairs (whose canonical- lowercase byte-strings are round-trip-stable), and unlike the peer [caixa_core::CaixaKind] pair (whose forward emit lands on the lowercase Portuguese diagnostic vocabulary while the reverse parse lands on the PascalCase wire vocabulary, forcing the round-trip through an intermediate [caixa_core::CaixaKind::wire_name] hop), Semantic is a caixa-theme semantic-style axis with no wire/diagnostic vocabulary split — the Semantic::as_str emit and Semantic::from_wire parse share the same sixteen inline canonical-lowercase kebab byte-strings by construction, so the borrowed-input std::borrow::Cow<'static, str> projection this impl exposes composes directly with the paired trait-idiomatic reverse TryFrom<&str> axis on the projection’s std::borrow::Cow::as_ref borrow — no intermediate wire-vocab hop required.

Pinned load-bearing by [tests::semantic_from_borrowed_into_static_cow_str_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the sixteen- arm emit-set through the borrowed-input std::borrow::Cow<'static, str> surface, plus a std::borrow::Cow::Borrowed discriminator witness that the borrowed-input projection lands on the zero-alloc arm rather than silently allocating through std::borrow::Cow::Owned, plus a blanket-derived Into<std::borrow::Cow<'static, str>> shape witness on the borrowed-input surface that also lands on std::borrow::Cow::Borrowed) and [tests::semantic_from_borrowed_into_static_cow_str_agrees_with_paired_axes_on_every_arm] (cross-axis partition pin against the paired owned-input [From<Semantic> for std::borrow::Cow<'static, str>] impl (0253688), the paired borrowed-input [From<&Semantic> for &'static str], and [From<&Semantic> for String] impls plus ToString::to_string-through-std::fmt::Display, plus a .iter().map(std::borrow::Cow::from) pipe witness over Semantic::ALL whose iterator yields &Semantic by construction — so the borrowed-input axis is what routes the pipe without a spurious Copy deref — pinning zero-alloc std::borrow::Cow::Borrowed on every element, plus a direct round-trip witness through TryFrom<&str> on the projection’s std::borrow::Cow::as_ref borrow that closes the two-way &Self → Cow<'static, str> → Self round-trip on the borrowed- input axis).

Source§

fn from(sem: &Semantic) -> Cow<'static, str>

Converts to this type from the input type.
Source§

impl From<&Semantic> for Box<str>

Trait-idiomatic borrowed-input, Box<str> output forward projection on the caixa-theme semantic-style sixteen-arm closed-set fieldless typed enum Semantic. Routes byte-for-byte through the substrate-primitive Semantic::as_str pub const fn accessor via Box::<str>::from on the returned &'static str, so every consumer that binds a let key: Box<str> = (&sem).into();-shaped call site or a Semantic::ALL.iter().map(Box::<str>::from)-shaped pipe (whose iterator over &'static [Semantic] yields &Semantic by construction) — a per-semantic-style census-key materializer that stashes the semantic-style discriminator in a Box<str>-typed heap-owned scalar for cheap clone off a borrowed handle, a future M4 admission-webhook rejection body whose per-arm Box<str> field composes from a borrowed Semantic handle off a &Semantic borrow, a future feira lint --by-semantic histogram-column emitter that iterates Semantic::ALL into per-arm owned Box<str> labels — reaches the same sixteen canonical-lowercase kebab byte- strings the sibling {Self, &Self} × {&'static str, String, Cow<'static, str>} forward-projection corner and the paired owned- input [From<Semantic> for Box<str>] already return.

Rust’s standard library carries impl From<&str> for Box<str> and impl From<String> for Box<str> but no blanket impl<T: AsRef<str>> From<&T> for Box<str> (nor a Copy-based impl<T: Copy, U: From<T>> From<&T> for U), so this borrowed-input axis is a distinct trait-idiomatic surface that the pipe shape Semantic::ALL.iter().map(Box::<str>::from) reaches through this impl and no other — without it, the same pipe would force an explicit .copied() restatement (.iter().copied() .map(Box::<str>::from)) whose type bounds have no compile-time link back to the substrate primitive, and a let key: Box<str> = (&sem).into();-shaped call site would force an explicit Copy deref (Box::<str>::from(*sem)) or a Box::<str>::from(sem.as_str()) open-code with the same defect.

Closes the {Self, &Self} input-shape corner on the fifth outside- caixa-core closed-set fieldless typed enum peer of the substrate- wide trait-idiomatic Box<str> forward-projection campaign, exactly as 5901887 closed the paired first-mover InvariantKind axis one commit after (10613a7) landed, c4319a8 closed the paired second-peer ArchVerdict axis one commit after (3e08f5a) landed, 5116c95 landed the paired third-peer Severity pair one axis prior, cf0174b landed the paired fourth-peer FixSafety pair one axis prior, cb1d068 closed the paired M2-OTP-shape RestartPolicy axis one commit after (0a1b313) landed, and 3c971b2 closed the paired M3- mesh-shape PlacementStrategy axis one commit after (6d73e84) landed. The remaining outside-caixa-core peer ([caixa_provedor::FerriteRuntime]) remains the last future target on this tier of the axis.

Same discipline as the paired [caixa_core::supervisor::RestartStrategy] / [caixa_core::supervisor::RestartPolicy] M2-OTP-shape and [caixa_core::aplicacao::PlacementStrategy] / [caixa_core::aplicacao::WitShape] / [caixa_core::aplicacao::RateLimitUnit] M3-mesh-shape Box<str> {Self, &Self}-closers: forward emit (this impl, the paired owned- input [From<Semantic> for Box<str>] impl, the sibling {&'static str, String, Cow<'static, str>} forward-projection corner, std::fmt::Display, AsRef<str>, Semantic::as_str) and reverse parse (Semantic::from_wire, TryFrom<&str>) route through the same sixteen inline canonical-lowercase kebab byte- strings Semantic::as_str returns by construction, so the round- trip composes directly without the wire-vocab intermediate hop the peer [caixa_core::CaixaKind] axis pair requires.

Pinned load-bearing by [tests::semantic_from_borrowed_into_box_str_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the sixteen- arm Semantic::ALL emit-set on the borrowed-input surface, plus a blanket-derived Into shape witness, plus a .iter().map(Box::<str>::from) pipe witness over Semantic::ALL — whose iterator yields &Semantic by construction, so the borrowed-input Box<str> axis is what routes the pipe through the substrate-primitive Semantic::as_str accessor without a spurious Copy deref).

Source§

fn from(sem: &Semantic) -> Box<str>

Converts to this type from the input type.
Source§

impl From<Semantic> for &'static str

Standard-library trait-idiomatic forward projection on the Semantic closed 16-arm caixa-theme semantic-style axis. Routes byte-for-byte through the paired substrate-primitive Semantic::as_str pub const fn accessor so <&'static str>::from(sem) / sem.into::<&'static str>() reaches the same 16-arm canonical-lowercase kebab emit-set the sibling method-named accessor dispatches through and the sibling [std::fmt::Display for Semantic] / [AsRef<str> for Semantic] impls also route through.

Extends the substrate-wide closed-set-enum trait-idiomatic forward-projection family ([caixa_core::supervisor::RestartStrategy] via 523157d, [caixa_core::supervisor::RestartPolicy] via 9fb37d0, [caixa_core::CaixaKind] via edb827b, [caixa_core::CaixaDialeto] via c189a6f, [caixa_core::aplicacao::PlacementStrategy] via afa3562, [caixa_core::aplicacao::WitShape] via 56998ec, [caixa_core::aplicacao::RateLimitUnit] via 7fdfbf4, [caixa_core::render::PathShapeViolation] via 070a6de, [caixa_arch::invariants::InvariantKind] via f2ca7bc, [caixa_arch::report::ArchVerdict] via d4559cb, caixa_lint::diagnostic::Severity via 5cc3b8b, and caixa_lint::diagnostic::FixSafety via 2a56127) onto the first closed-set fieldless typed enum on the caixa-theme surface — the semantic-style 16-arm accept-set every per-Semantic paint dispatch, every future caixa-lsp per-SemanticTokenType wire-up, every future caixa.nvim per-highlight-group re-loader, and every future blackmatter-shell per-arm data-semantic="<kebab>" DOM emission keys off. The thirteenth peer on the substrate surface, closing the caixa-theme closed-set fieldless typed-enum axis onto the trait- idiomatic forward-projection axis and matching the paired trait- idiomatic reverse-projection axis (already closed via bd7da69 on this enum), with only caixa_provedor::FerriteRuntime remaining as the last outside-caixa-core closed-set fieldless typed enum whose trait-idiomatic forward axis is still open.

Pairs with the sibling [TryFrom<&str> for Semantic] impl (bd7da69) to close the two-way Self ↔ &'static str round-trip on the trait-idiomatic axis pair, mirroring the pre-existing method-named Semantic::as_str + Semantic::from_wire pair on the substrate-primitive axis pair.

Return type is &'static str by construction — every Semantic::as_str arm resolves to an inline "keyword" / "symbol" / "keyword-arg" / "string" / "number" / "literal" / "comment" / "accent" / "muted" / "error" / "warning" / "info" / "hint" / "added" / "removed" / "unchanged" &'static str literal, so the trait’s return-type promise is upheld structurally without a String::leak cast or a per-arm inline literal outside the paired Semantic::as_str dispatch.

The paired Semantic::as_str accessor’s 16-arm emit-set is the single source of truth — every future arm addition (a Namespace tier between [Self::Symbol] and [Self::KeywordArg] for the M4 tatara-lisp module system’s qualified-name semantic-token dispatch, a Deleted tier for a hard-delete-mark distinct from [Self::Removed] the future 3-way diff surface grows — both trajectory items the sibling Semantic::ALL doc block already names) grows the trait-idiomatic forward axis by construction: one caixa-theme edit on Semantic::as_str extends every one of the sibling forward-projection paths (std::fmt::Display, AsRef<str>, Semantic::as_str itself, and this [From<Self> for &'static str]) without a coordinated rewrite across every future Into<&'static str>-bound consumer’s arm-set.

Pinned load-bearing by [tests::semantic_from_into_static_str_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the 16-arm emit-set, plus a const-context materialization witness for the &'static str lifetime promise routed through the paired Semantic::as_str pub const fn accessor, plus a paired .into() shape assertion covering the blanket-derived Into<&'static str> shape) and [tests::semantic_from_into_static_str_and_as_str_partition_the_emit_set] (partition pin asserting <&'static str as From<Semantic>>::from and Semantic::as_str agree on every arm, plus a two-way direct round-trip witness through the paired trait-idiomatic TryFrom<&str> axis that closes the two-way Self ↔ &'static str round-trip on the trait-idiomatic axis pair — the emit-side Semantic::as_str and the parse-side Semantic::from_wire dispatch on the same 16 inline canonical- lowercase kebab byte-strings by construction, so round-tripping composes the two trait impls directly).

Source§

fn from(sem: Semantic) -> &'static str

Converts to this type from the input type.
Source§

impl From<Semantic> for String

Trait-idiomatic owned-input, owned-String output forward projection on the Semantic closed 16-arm caixa-theme semantic-style axis — the owned-String companion to the paired [From<Semantic> for &'static str] and [From<&Semantic> for &'static str] siblings immediately above. Routes byte-for-byte through the substrate-primitive Semantic::as_str pub const fn accessor via str::to_owned so every consumer that binds a Semantic through the standard-library .into() / [From<Self> for String] axis (a let key: String = sem.into();-shaped downstream call site; a future serde_json::Value::String(sem.into()) structured- payload composer where the Value::String arm typing demands an owned String and the sibling &'static str-returning axes force an explicit .to_owned() / String::from restatement at every call site; a future HashMap::<String, Semantic>::from_iter per-semantic lookup on a future caixa-lsp per-SemanticTokenType registration path where the map’s key type is owned String rather than &'static str; a future [std::borrow::Cow::<'static, str>::Owned(sem.into())] composer on a future feira lint --list-styles operator-facing enumeration verb’s per-arm row where an owned [Cow] arm typing rules; a future caixa.nvim per-highlight-group re-loader that stores the per-Semantic kebab identifier as an owned String on the theme-overlay table; a future blackmatter-shell per-arm data-semantic="<kebab>" DOM emission whose serializer’s Serialize impl on String owns the emit-path) reaches the same 16-arm "keyword" / "symbol" / "keyword-arg" / "string" / "number" / "literal" / "comment" / "accent" / "muted" / "error" / "warning" / "info" / "hint" / "added" / "removed" / "unchanged" canonical-lowercase kebab emit-set the paired &'static str-returning axes, the sibling std::fmt::Display, AsRef<str>, and Semantic::as_str surfaces already return — no .to_owned() / String::from(sem.as_str()) detour whose type bounds have no compile-time link to the substrate primitive.

Rust’s standard library does not carry a blanket impl<T: AsRef<str>> From<T> for String (nor an impl<T: fmt::Display> From<T> for String), so every closed-set typed enum that carries the paired AsRef<str> / std::fmt::Display / [From<Self> for &'static str] / [From<&Self> for &'static str] quadruple but not the owned- String axis forces every owned-string call site through the detour above. This lift closes that axis on the sole closed-set fieldless typed enum on the caixa-theme surface (the semantic- style 16-arm axis), extending the substrate-wide {Self, &Self} × {&'static str, String} 2×2-completion campaign onto the sixth outside-caixa-core closed-set fieldless typed enum on the caixa surface — matching the trajectory each of the twelve prior peer enums — [caixa_core::supervisor::RestartStrategy] (7baa18a, first-mover on this axis), [caixa_core::supervisor::RestartPolicy] (7851725), [caixa_core::CaixaKind] (231a18c), [caixa_core::CaixaDialeto] (88942cd), [caixa_core::dep::DepList] (32b0ee8), [caixa_core::aplicacao::PlacementStrategy] (1154c2f), [caixa_core::aplicacao::WitShape] (79a8723), [caixa_core::aplicacao::RateLimitUnit] (c7d687d), [caixa_core::render::PathShapeViolation] (6e0479a, first render- side arm), [caixa_arch::invariants::InvariantKind] (1afd8d5, first outside-caixa-core arm — the paired severity-classification axis on the caixa-arch invariant-kind closed-set enum), [caixa_arch::report::ArchVerdict] (cc80a53, the paired verdict- outcome axis on the sibling caixa-arch closed-set enum), caixa_lint::diagnostic::Severity (4635d4e), caixa_lint::diagnostic::FixSafety (e4d73c6), and caixa_provedor::FerriteRuntime (1e14fde, the paired ferrite- runtime axis on the sole caixa-provedor closed-set enum) — followed on the same 2×2-completion campaign.

Pinned load-bearing by [tests::semantic_from_into_owned_string_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the 16-arm emit-set via the owned-String surface, plus a blanket-derived Into<String> shape witness) and [tests::semantic_from_into_owned_string_and_static_str_agree_on_every_arm] (cross-axis partition pin against the paired owned-input &'static str-returning [From<Semantic> for &'static str] impl and the ToString::to_string-through-std::fmt::Display surface, plus a .iter().copied().map(String::from) pipe witness over Semantic::ALL, plus a direct Self → String → Self round-trip witness through the paired TryFrom<&str> axis on the owned-String’s String::as_str borrow).

Source§

fn from(sem: Semantic) -> String

Converts to this type from the input type.
Source§

impl From<Semantic> for Cow<'static, str>

Trait-idiomatic owned-input forward projection on the sixteen-arm semantic-style Semantic closed-set fieldless typed enum onto the std::borrow::Cow<'static, str> axis — the std::borrow::Cow<'static, str> companion to the paired owned- input [From<Semantic> for &'static str] and paired owned-input [From<Semantic> for String] forward-projection corners already lifted above. Routes through the substrate-primitive Semantic::as_str pub const fn accessor via std::borrow::Cow::Borrowed so every consumer that binds a Semantic through the substrate’s std::borrow::Cow<'static, str> axis (a let key: std::borrow::Cow<'static, str> = sem.into();-shaped downstream call site; a future feira lint --list-styles operator-facing enumeration verb whose per-style row typing binds through a std::borrow::Cow<'static, str> boundary the sibling &'static str-returning and owned-String-returning axes force through a std::borrow::Cow::Borrowed(sem.as_str()) / std::borrow::Cow::Owned(sem.to_string()) / String::from(sem).into() composition; a future caixa-lsp-side per-SemanticTokenType registration walk where the LSP wire schema binds the kebab tag as std::borrow::Cow<'static, str> so static semantic-style strings avoid the runtime allocation the owned-String axis would force; a future caixa.nvim per-highlight-group re-loader whose per-Semantic kebab identifier is bound through a std::borrow::Cow<'static, str> field so a theme-overlay row can carry either a static kebab or a per-scheme override without duplicating the enum-parameterized field type; a future blackmatter-shell per-arm data-semantic="<kebab>" DOM emission whose attribute value binds through a std::borrow::Cow<'static, str> so the emitter can compose static kebab strings with an occasional runtime-computed variant; a future HashMap::<std::borrow::Cow<'static, str>, usize>::from_iter(Semantic::ALL.iter().copied().map(|sem| (sem.into(), 0))) per-Semantic-paint histogram seed on a future per-file paint audit where the key type is std::borrow::Cow<'static, str> rather than &'static str or owned String) reaches the same 16-arm "keyword" / "symbol" / "keyword-arg" / "string" / "number" / "literal" / "comment" / "accent" / "muted" / "error" / "warning" / "info" / "hint" / "added" / "removed" / "unchanged" canonical-lowercase kebab emit-set the paired std::fmt::Display, AsRef<str>, Semantic::as_str, and the four {Self, &Self} × {&'static str, String} 2×2 trait- idiomatic forward-projection corners already return.

Deliberately returns std::borrow::Cow::Borrowed rather than std::borrow::Cow::Owned — the substrate-primitive Semantic::as_str accessor’s return carries the &'static str lifetime by construction (each match arm resolves to an inline &'static str literal), so the zero-alloc borrowed arm is the type-correct projection with no runtime allocation. Any future silent detour that routes the impl through the std::borrow::Cow::Owned arm (an accidental std::borrow::Cow::Owned(sem.to_string()) rewrite that would allocate on every call site where the &'static str return of Semantic::as_str makes the zero-alloc borrowed projection type-correct) trips at caixa-theme test time under the std::borrow::Cow::Borrowed discriminator witness rather than at a downstream std::borrow::Cow<'static, str>-bound consumer’s silent allocation.

Fifth outside-caixa-core peer (and sole peer on the caixa- theme surface) on the substrate-wide trait-idiomatic std::borrow::Cow<'static, str> forward-projection family — extends the outside-caixa-core tier of the campaign off the paired caixa-lint fix-safety-tier axis on the sibling two-arm closed-set enum ([caixa_lint::diagnostic::FixSafety], 79010c5 / 9a6539f — fourth outside-caixa-core peer, closed the 2×3 corner) onto the semantic-style sixteen-arm axis every per- Semantic paint dispatch, every future caixa-lsp per-SemanticTokenType wire-up, every future caixa.nvim per-highlight-group re-loader, and every future blackmatter-shell per-arm data-semantic="<kebab>" DOM emission dispatches through. Fourteenth peer on the axis; leaves the remaining outside-caixa-core peer (caixa_provedor::FerriteRuntime) as the future target. The paired {Self, &Self} borrowed-input closer on &Semantic is the next commit on this axis, matching the closure discipline every prior peer landed one commit after its opener.

Rust’s standard library does not carry a blanket impl<T: AsRef<str>> From<T> for std::borrow::Cow<'static, str> (nor an impl<T: fmt::Display> From<T> for std::borrow::Cow<'static, str>), so every closed-set fieldless typed enum peer on the substrate that carries the paired AsRef<str> / std::fmt::Display / [From<Self> for &'static str] / [From<&Self> for &'static str] / [From<Self> for String] / [From<&Self> for String] sextet but not the std::borrow::Cow<'static, str> axis forces every std::borrow::Cow<'static, str>-parameterized call site through a std::borrow::Cow::Borrowed(sem.as_str()) / std::borrow::Cow::Owned(sem.to_string()) / String::from(sem).into() detour whose type bounds have no compile-time link to the substrate primitive.

The Semantic::as_str emit and Semantic::from_wire parse share the same 16 inline canonical-lowercase kebab byte-strings by construction — so the std::borrow::Cow<'static, str> projection this impl exposes composes directly with the paired trait-idiomatic reverse TryFrom<&str> axis on the projection’s std::borrow::Cow::as_ref borrow, no intermediate wire-vocab hop required (matching the sibling [caixa_lint::diagnostic::FixSafety] and [caixa_lint::diagnostic::Severity] pairs — round-trip-stable — unlike the peer [caixa_core::CaixaKind] pair whose forward emit and reverse parse land on distinct vocabularies).

Pinned load-bearing by [tests::semantic_from_into_static_cow_str_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the sixteen- arm emit-set through the std::borrow::Cow<'static, str> surface, plus a std::borrow::Cow::Borrowed discriminator witness that the projection lands on the zero-alloc arm rather than silently allocating through std::borrow::Cow::Owned, plus a blanket-derived Into<std::borrow::Cow<'static, str>> shape witness that also lands on std::borrow::Cow::Borrowed) and [tests::semantic_from_into_static_cow_str_agrees_with_paired_axes_on_every_arm] (cross-axis partition pin against the paired owned-input [From<Semantic> for &'static str] and [From<Semantic> for String] forward-projection corners plus the sibling ToString::to_string-through-std::fmt::Display surface, plus a .iter().copied().map(std::borrow::Cow::from) pipe witness over Semantic::ALL with zero-alloc std::borrow::Cow::Borrowed discriminator on every element, plus a direct round-trip witness through TryFrom<&str> on the projection’s std::borrow::Cow::as_ref borrow).

Source§

fn from(sem: Semantic) -> Cow<'static, str>

Converts to this type from the input type.
Source§

impl From<Semantic> for Box<str>

Trait-idiomatic owned-input, Box<str> output forward projection on the caixa-theme semantic-style sixteen-arm closed-set fieldless typed enum Semantic. Routes byte-for-byte through the substrate- primitive Semantic::as_str pub const fn accessor via Box::<str>::from on the returned &'static str, so every consumer that binds a let key: Box<str> = sem.into();-shaped call site — a per-semantic-style census-key materializer that stashes the semantic-style discriminator in a Box<str>-typed heap-owned scalar for cheap clone (a future per-semantic-style token-coloring legend the LSP-side rich-diagnostics surface keys off), a future M4 admission-webhook rejection body whose per-arm Box<str> field composes from an owned Semantic handle naming the accepted semantic-style tier list, a future feira lint --by-semantic histogram-column emitter that stashes each arm as an owned Box<str> label — reaches the same sixteen canonical-lowercase kebab byte-strings the sibling {Self, &Self} × {&'static str, String, Cow<'static, str>} forward- projection corner already returns.

Rust’s standard library carries impl From<&str> for Box<str> and impl From<String> for Box<str> but no blanket impl<T: AsRef<str>> From<T> for Box<str>, so this axis is a distinct trait-idiomatic surface that a downstream Semantic → Box<str> .into() reaches through this impl and no other — without a Box::from(sem.as_str()) open-code whose type bounds have no compile-time link back to the substrate primitive.

Extends the outside-caixa-core tier of the substrate-wide trait- idiomatic Box<str> forward-projection campaign onto the fifth peer — the caixa-theme semantic-style sixteen-arm closed-set fieldless typed enum — following the first-mover [caixa_arch::invariants::InvariantKind] pair (10613a7 owned + 5901887 borrowed) that opened the tier, the second-peer [caixa_arch::report::ArchVerdict] pair (3e08f5a owned + c4319a8 borrowed), the third-peer [Severity] pair (5116c95), and the fourth-peer [FixSafety] pair (cf0174b) that landed one axis prior. Same discipline as the paired [caixa_core::supervisor::RestartStrategy] / [caixa_core::supervisor::RestartPolicy] M2-OTP-shape and [caixa_core::aplicacao::PlacementStrategy] / [caixa_core::aplicacao::WitShape] / [caixa_core::aplicacao::RateLimitUnit] M3-mesh-shape Box<str> axes: forward emit (this impl, the sibling {&'static str, String, Cow<'static, str>} forward-projection corner, std::fmt::Display, AsRef<str>, Semantic::as_str) and reverse parse (Semantic::from_wire, TryFrom<&str>) route through the same sixteen inline canonical-lowercase kebab byte- strings Semantic::as_str returns by construction, so the round- trip composes directly without the wire-vocab intermediate hop the peer [caixa_core::CaixaKind] axis pair requires.

Leaves the remaining outside-caixa-core peer ([caixa_provedor::FerriteRuntime]) whose Box<str> axis closure remains the last future target on this tier of the campaign, and leaves the paired borrowed-input [From<&Semantic> for Box<str>] {Self, &Self}-closer as the direct next target on this axis.

Pinned load-bearing by [tests::semantic_from_into_box_str_routes_through_as_str_accessor] (byte-parity pin against Semantic::as_str across the sixteen- arm Semantic::ALL emit-set on the owned-input surface, plus a blanket-derived Into shape witness).

Source§

fn from(sem: Semantic) -> Box<str>

Converts to this type from the input type.
Source§

impl Hash for Semantic

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Semantic

Source§

fn eq(&self, other: &Semantic) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for Semantic

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Semantic

Source§

impl TryFrom<&str> for Semantic

Trait-idiomatic reverse projection on the Semantic closed 16-arm caixa-theme semantic-style axis — routes byte-for-byte through the paired substrate-primitive Semantic::from_wire Option<Self> accessor so every future consumer that binds a canonical semantic tag through the standard-library .try_into() / TryFrom axis (a future feira lint --semantic=<kebab> CLI arg-parse that composes into let sem: Semantic = s.try_into()?, a future caixa-lsp per-token re-parse hydrating a prior Semantic::as_str output back to the typed enum for SemanticTokenType dispatch, a future caixa.nvim per-highlight- group re-loader binding a stored kebab byte-string back through the typed enum, a generic <T: TryFrom<&str>>-bound theme-overlay re-loader over any of the substrate’s closed-set typed enums) reaches the same 16-arm accept-set the sibling Semantic::from_wire resolver parses through and the sibling Semantic::as_str emits, rather than an open-coded per-arm match s { "keyword" => …, "symbol" => …, … _ => … } cascade whose arm-set has no compile-time link back to the substrate primitive.

Complements the pre-existing forward-projection triple (std::fmt::Display, AsRef<str>, Semantic::as_str) with the paired trait-idiomatic reverse-projection axis: Rust-side newtype/typed-enum convention pairs AsRef<str> with either std::str::FromStr or TryFrom<&str> on the same primitive so a caller who can project out to a &str can also project in from one. The TryFrom<&str> axis is deliberately chosen over std::str::FromStr to sidestep the clippy::should_implement_trait lint the sibling method-named Semantic::from_wire would trigger under a FromStr impl (the same design tradeoff the peer [caixa_core::CaixaKind] (3c83606), [caixa_core::CaixaDialeto] (bf33136), [caixa_core::aplicacao::PlacementStrategy] (6fd00cd), [caixa_core::supervisor::RestartStrategy] (5b828ed), [caixa_core::supervisor::RestartPolicy] (6fdd0d9), [caixa_core::aplicacao::WitShape] (5472902), [caixa_core::aplicacao::RateLimitUnit] (bf78400), [caixa_core::render::PathShapeViolation] (e67e48a), caixa_arch::invariants::InvariantKind (e21a857), caixa_arch::report::ArchVerdict (0a4cc45), caixa_lint::diagnostic::Severity (a7bf74c), and caixa_lint::diagnostic::FixSafety (df86c94) blocks note) — this impl closes the trait-idiomatic reverse axis without disturbing the method-named from_wire shape every peer closed-set typed enum already carries.

type Error = () matches the sibling Semantic::from_wire’s Option<Self> return-shape’s deliberate deferral of error typing: the caller picks the diagnostic form appropriate for its use site (a future feira lint --semantic CLI arg-parse composes its own per-verb “unknown semantic-style tag: — accepted: {…}” message enumerating Semantic::ALL, a future admission-webhook rejection body wraps the Err(()) outcome with the accepted-set enumeration for operator diagnostics, a Result::map_err at the call site lifts the axis-error to a per-verb error type). Same shape the peer sibling reverse-projection axes carry. The return- shape uses fully-qualified <Self as TryFrom<&str>>::Error because the associated-type name would otherwise collide with the Self::Error variant on the same primitive (the identical ambiguous-associated-item defect the sibling impl TryFrom<&str> for Severity (a7bf74c) already threads around under #[deny(future_incompatible)]).

The paired TryFrom<&str> impl reaches the same 16-arm accept- set the Semantic::from_wire resolver dispatches through, so any future arm addition (a Namespace tier between Self::Symbol and Self::KeywordArg for the M4 tatara-lisp module system’s qualified-name semantic-token dispatch, a Deleted tier for a hard-delete-mark distinct from Self::Removed the future 3-way diff surface grows — both trajectory items the sibling Semantic::ALL doc block already names) grows the trait- idiomatic axis by construction: one caixa-theme edit on Semantic::from_wire extends both the method-named reverse projection every existing consumer keys off and the trait- idiomatic reverse projection this impl exposes, without a coordinated rewrite across every future TryFrom<&str>-bound consumer’s arm-set.

Extends the substrate-wide closed-set-enum trait-idiomatic reverse-projection family ([caixa_core::CaixaKind] via 3c83606, [caixa_core::CaixaDialeto] via bf33136, [caixa_core::aplicacao::PlacementStrategy] via 6fd00cd, [caixa_core::supervisor::RestartStrategy] via 5b828ed, [caixa_core::supervisor::RestartPolicy] via 6fdd0d9, [caixa_core::aplicacao::WitShape] via 5472902, [caixa_core::aplicacao::RateLimitUnit] via bf78400, [caixa_core::render::PathShapeViolation] via e67e48a, caixa_arch::invariants::InvariantKind via e21a857, caixa_arch::report::ArchVerdict via 0a4cc45, caixa_lint::diagnostic::Severity via a7bf74c, and caixa_lint::diagnostic::FixSafety via df86c94) onto the first closed-set fieldless typed enum on the caixa-theme surface — the semantic-style 16-arm accept-set every per-Semantic paint dispatch, every future caixa-lsp per-SemanticTokenType wire-up, and every future caixa.nvim per-highlight-group re-loader keys off. The thirteenth peer on the substrate surface, and the first inside caixa-theme; with caixa_provedor::FerriteRuntime remaining as the only outside-caixa-core closed-set fieldless typed enum whose trait-idiomatic axis is still open.

Pinned load-bearing by [tests::semantic_try_from_str_routes_through_from_wire_accessor] (byte-parity pin against Semantic::from_wire across the 16-arm accept-set) and [tests::semantic_try_from_str_rejects_unknown_byte_strings] (rejection witness against silent accept-set widening).

Source§

type Error = ()

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

fn try_from(s: &str) -> Result<Self, <Self as TryFrom<&str>>::Error>

Performs the conversion.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.