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
impl Semantic
pub const fn is_keyword(&self) -> bool
pub const fn is_symbol(&self) -> bool
pub const fn is_keyword_arg(&self) -> bool
pub const fn is_string(&self) -> bool
pub const fn is_number(&self) -> bool
pub const fn is_literal(&self) -> bool
pub const fn is_comment(&self) -> bool
pub const fn is_accent(&self) -> bool
pub const fn is_muted(&self) -> bool
pub const fn is_error(&self) -> bool
pub const fn is_warning(&self) -> bool
pub const fn is_info(&self) -> bool
pub const fn is_hint(&self) -> bool
pub const fn is_added(&self) -> bool
pub const fn is_removed(&self) -> bool
pub const fn is_unchanged(&self) -> bool
Source§impl Semantic
impl Semantic
Sourcepub const ALL: &'static [Self]
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.
Sourcepub const fn as_str(self) -> &'static str
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.
Sourcepub fn from_wire(s: &str) -> Option<Self>
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.
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.
impl Copy for Semantic
Source§impl<'de> Deserialize<'de> for Semantic
impl<'de> Deserialize<'de> for Semantic
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>,
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.
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.
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.
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§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.
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§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.
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§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.
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§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.
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§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.
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§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.
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§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.
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).
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.
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: 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).
Auto Trait Implementations§
impl Freeze for Semantic
impl RefUnwindSafe for Semantic
impl Send for Semantic
impl Sync for Semantic
impl Unpin for Semantic
impl UnsafeUnpin for Semantic
impl UnwindSafe for Semantic
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<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
key and return true if they are equal.