feat(kernel): R7b Rust walker — rustlang module, tree-sitter-rust 0.24.2 bump, rust default-routed (#1371)

First R7b language port. Grammar: tree-sitter-rust pinned =0.24.2 + wasm
vendored from tag 77a3747 (parser.c/scanner.c sha-matched against the
crates.io tarball), replacing the 2023 ABI-14 tree-sitter-wasms build —
the bump alone is precision-positive on the wasm path (receiver-qualified
instance-method resolutions replace ambiguous bare-name matches; node
sections byte-identical on ripgrep/tokio).

Walker mirrors the TS reference bug-for-bug per
docs/design/rust-lang-kernel-port-checklist.md (survey artifact): dead-code
isAsync, impl-pushes-no-scope, the impl-Trait-for-Generic<T> trait-receiver
quirk, phantom const identifiers, use-binding triple emission,
wildcard-use-emits-nothing, scoped-supertrait drop, chained-call re-encode
gated on scoped_identifier, Rocket route macros body-only.

Gates: parity sweeps 0 diffs — ripgrep 101/101, tokio 790/790,
rust-analyzer 1217/1488 (271 deferrals are token-macro-table sources that
error on BOTH arms — grammar-inherent); full-init dump-diffs byte-identical
on all three (3,857 / 13,440 / 39,030 nodes); kernel-rustlang-parity suite
(torture + CRLF + defer) in npm test; full suite green x2 with
CODEGRAPH_KERNEL_EXPECT=1.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Colby Mchenry
2026-07-20 00:08:09 -05:00
committed by GitHub
co-authored by Claude Fable 5
parent ce0ae30e09
commit f1ca991943
15 changed files with 2380 additions and 7 deletions
+4
View File
@@ -297,6 +297,10 @@ const VENDORED_WASM_LANGS: ReadonlySet<GrammarLanguage> = new Set([
// the crates.io tarballs. `.metal`/`.cu` map to language 'cpp', so the
// dialects ride the same (single, coherent) upgraded grammar.
'c', 'cpp',
// R7b (Rust kernel port prep): tree-sitter-rust v0.24.2 (77a3747),
// parser.c/scanner.c sha-matched against the crates.io tarball. Replaces the
// 2023-era tree-sitter-wasms build (ABI 14 → 15).
'rust',
]);
/** Absolute path of a language's grammar WASM (vendored or tree-sitter-wasms). */
+6
View File
@@ -48,6 +48,12 @@ const DEFAULT_ROUTED: ReadonlySet<Language> = new Set<Language>([
// scripts/kernel-parity.mjs --max-deferral).
'c',
'cpp',
// R7b (2026-07-20): parity swept 0-diff on ripgrep/tokio/rust-analyzer
// (2,108 files byte-parity) + full-init dump-diffs byte-identical. Rust
// deferral is ~0% on normal repos; token-macro-table sources (rust-analyzer's
// parser crates, 18%) error on BOTH arms — grammar-inherent, not a walker
// signal.
'rust',
]);
/**
Binary file not shown.