@@ -5,7 +5,9 @@ use serde::{Deserialize, Serialize};
55use std:: fmt;
66
77/// Classification of literal values in TechScript 2.0.
8- #[ derive( Debug , Clone , Copy , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
8+ #[ derive(
9+ Debug , Clone , Copy , PartialEq , Eq , Hash , Serialize , Deserialize , strum_macros:: EnumIter ,
10+ ) ]
911pub enum LiteralKind {
1012 /// Integer literal (e.g., `42`).
1113 Int ,
@@ -50,7 +52,9 @@ impl fmt::Display for NumericLiteralKind {
5052/// - **Canonical 2.0**: The one true spelling — no warnings emitted.
5153/// - **Deprecated Alias**: Old spelling — still parsed, but emits a `TSW1xxx` warning.
5254/// - **Reserved**: Recognised by the lexer but not yet active.
53- #[ derive( Debug , Clone , Copy , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
55+ #[ derive(
56+ Debug , Clone , Copy , PartialEq , Eq , Hash , Serialize , Deserialize , strum_macros:: EnumIter ,
57+ ) ]
5458pub enum TokenKind {
5559 // ── Canonical 2.0 Keywords ──────────────────────────────────────────────────────
5660 /// `do` — function/method declaration (replaces `build`, `fun`, `function`)
0 commit comments