diff --git a/src/cst.rs b/src/cst.rs index 4d76340..6feaa60 100644 --- a/src/cst.rs +++ b/src/cst.rs @@ -324,7 +324,13 @@ impl SyntaxKind { } pub fn from_raw(raw: RawSyntaxKind) -> Self { - unsafe { std::mem::transmute(raw.0 as u16) } + match raw.0 { + 0 => SyntaxKind::Root, + 1 => SyntaxKind::Table, + // ... other variants ... + 116 => SyntaxKind::PacketTooBigKw, + _ => SyntaxKind::Error, // Fallback to Error for invalid values + } } }