diff --git a/.trinity/notebook_commit_count b/.trinity/notebook_commit_count index 8351c19397..60d3b2f4a4 100644 --- a/.trinity/notebook_commit_count +++ b/.trinity/notebook_commit_count @@ -1 +1 @@ -14 +15 diff --git a/.trinity/seals/TriAhoCorasick.json b/.trinity/seals/TriAhoCorasick.json index 80b5877dc7..f9280d4c77 100644 --- a/.trinity/seals/TriAhoCorasick.json +++ b/.trinity/seals/TriAhoCorasick.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:c62b3cf6053a077bea6f78db0a04e2d0b79e7de528abad2cb31ba744d12b0184", - "gen_hash_rust": "sha256:f14ba789f921fa829b4410bb4f86778fab2eb9053445ef29d0f7c1a6dad889a6", + "gen_hash_rust": "sha256:de277dd852f63515c6813c5d1142c3c7e8390c99fcfd6c0122f10b5454e3b06d", "gen_hash_verilog": "sha256:063f6d75c93f8ef99989a513dc878c5bb9046504113671ce746145d5c5263124", "gen_hash_zig": "sha256:08ed32e165a7133ed88073312720d5ac3742899d29df87d8d0b0f7bfc7220291", "module": "TriAhoCorasick", diff --git a/.trinity/seals/TriAsync.json b/.trinity/seals/TriAsync.json index 2ac9789715..6b4eec0f25 100644 --- a/.trinity/seals/TriAsync.json +++ b/.trinity/seals/TriAsync.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:0a2cd0552781f9339fb3124ca7b4da1971d1b995264c2524ab4196bb105a9e84", - "gen_hash_rust": "sha256:fce09f3dd6189afbc66edc852c0f769595614e1fdeeac74091fa7b79748c83ab", + "gen_hash_rust": "sha256:d6f6ddb9976b917a22e4ee246ff8691b0e8cc627df9240e503cc3956026c9d30", "gen_hash_verilog": "sha256:24592c8aa7a66350d36897d3a2ef229469ef14273b95300837f9c26c1a6c0522", "gen_hash_zig": "sha256:77ce2b638dbdbf7c7056e5ebe4549dc347f47652316dfcbe2256b6c1327cd155", "module": "TriAsync", diff --git a/.trinity/seals/TriDisjointSet.json b/.trinity/seals/TriDisjointSet.json index 7baae1e14f..5b4e01e007 100644 --- a/.trinity/seals/TriDisjointSet.json +++ b/.trinity/seals/TriDisjointSet.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:ea299a2e237cafdd12569aa26d92164a0225be37867c6521d05bb517fc813dbd", - "gen_hash_rust": "sha256:68264bf32d569e3c14c715725b10293114066caa5c57db22876481cb17846c95", + "gen_hash_rust": "sha256:c41d45207ba172393580dd7cbf5dbb9c7e0052f400bbc90a678556cff3c6aaf0", "gen_hash_verilog": "sha256:a990448d071eea7c4da91f9c5ab713c0fca67385413843942c947c94dc4a196c", "gen_hash_zig": "sha256:300f5e4aad007caa0839c7a895eac121d8c9301523b5b9e921df08cda72f535c", "module": "TriDisjointSet", diff --git a/.trinity/seals/TriInterval.json b/.trinity/seals/TriInterval.json index 7be1733286..efd3f68373 100644 --- a/.trinity/seals/TriInterval.json +++ b/.trinity/seals/TriInterval.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:832375af6ae8c806cbb186d079978a927cd648bbac7f53e6f56acd41b804907c", - "gen_hash_rust": "sha256:cb52672ded87f24ebc2eecd540be62e5670275e3ad986b5c989121adf5a4b6cc", + "gen_hash_rust": "sha256:a2d890221ec7197e77cee7844fc2d6a35b08a19f3675e223eba046f1c76d3b57", "gen_hash_verilog": "sha256:36e325102e58ed8a7253539faa4a22611caa5b109b1521b3e4e58ca7f73cd761", "gen_hash_zig": "sha256:608c5fe2e0fc198ec53c6a684421341c2f174acd68aefecd71f7aa6de48c3908", "module": "TriInterval", diff --git a/.trinity/seals/TriRegex.json b/.trinity/seals/TriRegex.json index 75a06106c5..f84822de19 100644 --- a/.trinity/seals/TriRegex.json +++ b/.trinity/seals/TriRegex.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:660802ab81cb01c3f686cb482ed42b8de8df0436b17827b6e0290e37919f02ce", - "gen_hash_rust": "sha256:87c4d83998a104d55b68f3af32465b68e620b4c25707ceff5c85163d89fb9b12", + "gen_hash_rust": "sha256:40fa4775bfa0063c0d934e96912aed8507b816969eff423bc5a396618ffb1148", "gen_hash_verilog": "sha256:9a62a59c257e3c9064c99cbe925d932ad4b50d768e2f2c2ac2ff0ddab730def4", "gen_hash_zig": "sha256:27d367a959667ca85da2fc7021c57e6e1e2aad299ccb593c8341f7f17befc951", "module": "TriRegex", diff --git a/.trinity/seals/TriRegexAdvanced.json b/.trinity/seals/TriRegexAdvanced.json index 0ca008407e..69ea62e977 100644 --- a/.trinity/seals/TriRegexAdvanced.json +++ b/.trinity/seals/TriRegexAdvanced.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:dc463696086a58e698a15a4238ae63a499cbac094429a2387e14cd739910dc1e", - "gen_hash_rust": "sha256:3dd4ca7d1a4e8fdc43845cf5f1cb9bcf2aa65c1723390f967ee3e4a9460a80a3", + "gen_hash_rust": "sha256:303d82e6840a50b9dfa904d835fdbff1c6cdd17d3da02dd7a5aceee0fd6b4be4", "gen_hash_verilog": "sha256:5bb02a292bd10fb53411ca2380e67a3fab3d0800c51962606ce9283d614e28b4", "gen_hash_zig": "sha256:a783e2441cda2f795ad00cc859546633da713b006284dc95d7d1f61818c89332", "module": "TriRegexAdvanced", diff --git a/.trinity/seals/TriSet.json b/.trinity/seals/TriSet.json index 4322a2cd71..2f9d3fd55a 100644 --- a/.trinity/seals/TriSet.json +++ b/.trinity/seals/TriSet.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:9613b7c8f320bac36af110397bf7b0d1e290b0c2f86783209c1b4f40962784c4", - "gen_hash_rust": "sha256:bad838c80617f9d2d59898d50048f4b70d2807339c424d96a60103f9efd714f5", + "gen_hash_rust": "sha256:ab38e31fb8d7d8ec8b37ded2cd1ce6718a64f1efa7b51a709ebfe3be9b6a22da", "gen_hash_verilog": "sha256:a3f2edcb48986f07d75d8b5ec7e39b7308b6823f508a8bbcf4d84f1cb9d7e6a5", "gen_hash_zig": "sha256:3c40e78d01506a92d08946933a7d75abb7a8aabc3bec4df03d9389c19f5a974d", "module": "TriSet", diff --git a/.trinity/seals/TriVariant.json b/.trinity/seals/TriVariant.json index 963e24966b..345881f315 100644 --- a/.trinity/seals/TriVariant.json +++ b/.trinity/seals/TriVariant.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:d3ef4ff800d86fb3cb60a915f77bf2f025d73025df1659c43ad2739062fa70a1", - "gen_hash_rust": "sha256:eb83fb48479abb4f7b980aa613e98a91427e79481dcccdfa89f48707dadb3b05", + "gen_hash_rust": "sha256:799ba2556f5ebd760da3e6a0af0c0e2c0a5b9fdad02e3b2f798372fd379ad1df", "gen_hash_verilog": "sha256:ae50b07c5597efd9784857499f287c5840d0a31fb25df8081b02cd7fff748fdd", "gen_hash_zig": "sha256:b1b69c8bf2dd49aa0748aaf873c41c4644b4c57bc39593ec63bf9933361ecb79", "module": "TriVariant", diff --git a/.trinity/seals/c_tricgen-c.json b/.trinity/seals/c_tricgen-c.json index 5bd08a1362..906954d17b 100644 --- a/.trinity/seals/c_tricgen-c.json +++ b/.trinity/seals/c_tricgen-c.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:ea877f253cd5ac5376f712c17e9fad7bd5b3160f10d543632153aafc7a2e9362", - "gen_hash_rust": "sha256:cb527aaf377ae7afe21c90f253a2256c9c0163e2e81bec107abe9448df75de7b", + "gen_hash_rust": "sha256:8ccdd94026d2fc8b2978e5ff47fc6074dd54409b6668492a91dd8c716b8b24af", "gen_hash_verilog": "sha256:3e2fb4ed167ac1510c1a86cfb3e824c778dccfaaa3b16baf9e6a7e97716bcc58", "gen_hash_zig": "sha256:f15884261f7dbdc0dee80274d11768139dcb64e5269f56e51a5e3e1a1cb61ce6", "module": "tricgen-c", "ring": 12, - "sealed_at": "2026-09-05T09:02:10Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:405fdea7d1fb2b058f76601757ce3b28a5c6667fdb68203b311c80d7f4db7407", "spec_path": "compiler/codegen/c/codegen.t27" diff --git a/.trinity/seals/collections_TriInterval.json b/.trinity/seals/collections_TriInterval.json index 298de9e6e5..07f949c06c 100644 --- a/.trinity/seals/collections_TriInterval.json +++ b/.trinity/seals/collections_TriInterval.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:832375af6ae8c806cbb186d079978a927cd648bbac7f53e6f56acd41b804907c", - "gen_hash_rust": "sha256:cb52672ded87f24ebc2eecd540be62e5670275e3ad986b5c989121adf5a4b6cc", + "gen_hash_rust": "sha256:a2d890221ec7197e77cee7844fc2d6a35b08a19f3675e223eba046f1c76d3b57", "gen_hash_verilog": "sha256:36e325102e58ed8a7253539faa4a22611caa5b109b1521b3e4e58ca7f73cd761", "gen_hash_zig": "sha256:608c5fe2e0fc198ec53c6a684421341c2f174acd68aefecd71f7aa6de48c3908", "module": "TriInterval", "ring": 12, - "sealed_at": "2026-08-30T15:19:26Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:c8115f6da7558dca37c56c947e233412f3a5aa54ef92ad407d953e0fe975b470", "spec_path": "specs/tri/collections/interval.t27" diff --git a/.trinity/seals/collections_TriSet.json b/.trinity/seals/collections_TriSet.json index 1a06bc08fa..03db8f7e78 100644 --- a/.trinity/seals/collections_TriSet.json +++ b/.trinity/seals/collections_TriSet.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:9613b7c8f320bac36af110397bf7b0d1e290b0c2f86783209c1b4f40962784c4", - "gen_hash_rust": "sha256:bad838c80617f9d2d59898d50048f4b70d2807339c424d96a60103f9efd714f5", + "gen_hash_rust": "sha256:ab38e31fb8d7d8ec8b37ded2cd1ce6718a64f1efa7b51a709ebfe3be9b6a22da", "gen_hash_verilog": "sha256:a3f2edcb48986f07d75d8b5ec7e39b7308b6823f508a8bbcf4d84f1cb9d7e6a5", "gen_hash_zig": "sha256:3c40e78d01506a92d08946933a7d75abb7a8aabc3bec4df03d9389c19f5a974d", "module": "TriSet", "ring": 12, - "sealed_at": "2026-09-05T02:40:54Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:b4efcdd7ff229ef26b03587176dbb0f75351666de1e6c689597be0322349e3dd", "spec_path": "specs/tri/collections/set.t27" diff --git a/.trinity/seals/collections_TriVariant.json b/.trinity/seals/collections_TriVariant.json index 05d379ba77..a17605b57b 100644 --- a/.trinity/seals/collections_TriVariant.json +++ b/.trinity/seals/collections_TriVariant.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:d3ef4ff800d86fb3cb60a915f77bf2f025d73025df1659c43ad2739062fa70a1", - "gen_hash_rust": "sha256:eb83fb48479abb4f7b980aa613e98a91427e79481dcccdfa89f48707dadb3b05", + "gen_hash_rust": "sha256:799ba2556f5ebd760da3e6a0af0c0e2c0a5b9fdad02e3b2f798372fd379ad1df", "gen_hash_verilog": "sha256:ae50b07c5597efd9784857499f287c5840d0a31fb25df8081b02cd7fff748fdd", "gen_hash_zig": "sha256:b1b69c8bf2dd49aa0748aaf873c41c4644b4c57bc39593ec63bf9933361ecb79", "module": "TriVariant", "ring": 12, - "sealed_at": "2026-09-05T09:02:10Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:aa28703435668f5af1666adebde67002d5cd800c48e0550c36becfefe9032bdc", "spec_path": "specs/tri/collections/variant.t27" diff --git a/.trinity/seals/graph_TriDisjointSet.json b/.trinity/seals/graph_TriDisjointSet.json index 4870fef10f..6ad404a567 100644 --- a/.trinity/seals/graph_TriDisjointSet.json +++ b/.trinity/seals/graph_TriDisjointSet.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:ea299a2e237cafdd12569aa26d92164a0225be37867c6521d05bb517fc813dbd", - "gen_hash_rust": "sha256:68264bf32d569e3c14c715725b10293114066caa5c57db22876481cb17846c95", + "gen_hash_rust": "sha256:c41d45207ba172393580dd7cbf5dbb9c7e0052f400bbc90a678556cff3c6aaf0", "gen_hash_verilog": "sha256:a990448d071eea7c4da91f9c5ab713c0fca67385413843942c947c94dc4a196c", "gen_hash_zig": "sha256:300f5e4aad007caa0839c7a895eac121d8c9301523b5b9e921df08cda72f535c", "module": "TriDisjointSet", "ring": 12, - "sealed_at": "2026-09-05T00:40:42Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:57308c312e2d9233223984d19e928d0583684571434c32a42d5c66810c8a07da", "spec_path": "specs/tri/graph/disjoint_set.t27" diff --git a/.trinity/seals/lsp-schema.json b/.trinity/seals/lsp-schema.json index aeab2d5081..76ea016a43 100644 --- a/.trinity/seals/lsp-schema.json +++ b/.trinity/seals/lsp-schema.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:dd3538c7c7e9a6924066069a273b9e4b701fe62c2063258a795e32de897c4c2f", - "gen_hash_rust": "sha256:65239ba7321ae74c87b27c54ea29822d087c70e27c265dbb539beae37a9b8034", + "gen_hash_rust": "sha256:8e11d6f827e3b8ca62ee7cd9ae0fbe4c8c66882d37ff444b93cacaaeede14f29", "gen_hash_verilog": "sha256:5b06ca806b28456c3c4f16241e53a756c97943d5fab60cad548fe2e0780d0df9", "gen_hash_zig": "sha256:9824374ed0c9d330a5729fb15b945d389345113c68b8ce61d14510ce270d41be", "module": "lsp-schema", diff --git a/.trinity/seals/lsp_lsp-schema.json b/.trinity/seals/lsp_lsp-schema.json index b71e12571f..9f01ed843a 100644 --- a/.trinity/seals/lsp_lsp-schema.json +++ b/.trinity/seals/lsp_lsp-schema.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:dd3538c7c7e9a6924066069a273b9e4b701fe62c2063258a795e32de897c4c2f", - "gen_hash_rust": "sha256:65239ba7321ae74c87b27c54ea29822d087c70e27c265dbb539beae37a9b8034", + "gen_hash_rust": "sha256:8e11d6f827e3b8ca62ee7cd9ae0fbe4c8c66882d37ff444b93cacaaeede14f29", "gen_hash_verilog": "sha256:5b06ca806b28456c3c4f16241e53a756c97943d5fab60cad548fe2e0780d0df9", "gen_hash_zig": "sha256:9824374ed0c9d330a5729fb15b945d389345113c68b8ce61d14510ce270d41be", "module": "lsp-schema", "ring": 12, - "sealed_at": "2026-09-05T03:45:59Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:4c4543a14768e2353cf1981460c90b96fa26a9c05e049b5d504e07a9e244a0d4", "spec_path": "specs/lsp/schema.t27" diff --git a/.trinity/seals/net_TriAsync.json b/.trinity/seals/net_TriAsync.json index 72512217f9..4455bf8b6d 100644 --- a/.trinity/seals/net_TriAsync.json +++ b/.trinity/seals/net_TriAsync.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:0a2cd0552781f9339fb3124ca7b4da1971d1b995264c2524ab4196bb105a9e84", - "gen_hash_rust": "sha256:fce09f3dd6189afbc66edc852c0f769595614e1fdeeac74091fa7b79748c83ab", + "gen_hash_rust": "sha256:d6f6ddb9976b917a22e4ee246ff8691b0e8cc627df9240e503cc3956026c9d30", "gen_hash_verilog": "sha256:24592c8aa7a66350d36897d3a2ef229469ef14273b95300837f9c26c1a6c0522", "gen_hash_zig": "sha256:77ce2b638dbdbf7c7056e5ebe4549dc347f47652316dfcbe2256b6c1327cd155", "module": "TriAsync", "ring": 12, - "sealed_at": "2026-09-05T02:40:54Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:179cd63eb41991497c2b1624ff8750a9c3665a7771e43ac90c432595217c41f7", "spec_path": "specs/tri/net/async.t27" diff --git a/.trinity/seals/parser_trilexer.json b/.trinity/seals/parser_trilexer.json index 2007a9bb42..b8a2bf0c0e 100644 --- a/.trinity/seals/parser_trilexer.json +++ b/.trinity/seals/parser_trilexer.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:e0063e5c22cb0e01130edf80c41e70cef19d4c2088164e94e787d977df56644e", - "gen_hash_rust": "sha256:e10148d448305cb14ebb66424c7a6c1a807c987e975785693e2b9f818b08ad92", + "gen_hash_rust": "sha256:10bf87cb3809d81e4420d7b69d37e6979ac28a01292170ea45c54a43a9a07560", "gen_hash_verilog": "sha256:954dd0061982280c269c73c9c64a5287ca0b5e0e6af872efcb77a2fd2182645a", "gen_hash_zig": "sha256:6667e1fe7c9916490e6d574942a5035a2113b14101895f81a6ca0a5462e26658", "module": "trilexer", "ring": 12, - "sealed_at": "2026-09-05T09:02:10Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:cf665b400e73091057d195296506e68e8c16acff3adc70a1756b58cd88e30afc", "spec_path": "compiler/parser/lexer.t27" diff --git a/.trinity/seals/runtime-process.json b/.trinity/seals/runtime-process.json index 1c538b6834..df2696555b 100644 --- a/.trinity/seals/runtime-process.json +++ b/.trinity/seals/runtime-process.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:b1f9c4e9919204acc2bb7f4a9f9a21749ad2df536792abbc1f72f2d14e7ce598", - "gen_hash_rust": "sha256:6849e30b1bffe0fa95ba498c8812497ff393121a7ae8c930f623658aea240b43", + "gen_hash_rust": "sha256:54e627ea1be0aff0cf617006212302433af35828eef89fcb28c71106b256673c", "gen_hash_verilog": "sha256:ed0ab46eb6f5b22beb547de1ca0e0faa74575d2347b08690209c41ce0d7a65b4", "gen_hash_zig": "sha256:ee2e9f0dab9cfc29b54975daae61ba42cf7fa70a809f5baf6c11ddacdf527560", "module": "runtime-process", diff --git a/.trinity/seals/runtime_runtime-process.json b/.trinity/seals/runtime_runtime-process.json index d1407fa2fb..146f5f0b83 100644 --- a/.trinity/seals/runtime_runtime-process.json +++ b/.trinity/seals/runtime_runtime-process.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:b1f9c4e9919204acc2bb7f4a9f9a21749ad2df536792abbc1f72f2d14e7ce598", - "gen_hash_rust": "sha256:6849e30b1bffe0fa95ba498c8812497ff393121a7ae8c930f623658aea240b43", + "gen_hash_rust": "sha256:54e627ea1be0aff0cf617006212302433af35828eef89fcb28c71106b256673c", "gen_hash_verilog": "sha256:ed0ab46eb6f5b22beb547de1ca0e0faa74575d2347b08690209c41ce0d7a65b4", "gen_hash_zig": "sha256:ee2e9f0dab9cfc29b54975daae61ba42cf7fa70a809f5baf6c11ddacdf527560", "module": "runtime-process", "ring": 12, - "sealed_at": "2026-09-05T09:08:54Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:bfeb22f04f036c5745781787e8a61f8fe7e2a3c8e9a2c9a27b7f26005c0dd40d", "spec_path": "specs/runtime/process.t27" diff --git a/.trinity/seals/search_TriAhoCorasick.json b/.trinity/seals/search_TriAhoCorasick.json index d29453206d..daf9363cf3 100644 --- a/.trinity/seals/search_TriAhoCorasick.json +++ b/.trinity/seals/search_TriAhoCorasick.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:c62b3cf6053a077bea6f78db0a04e2d0b79e7de528abad2cb31ba744d12b0184", - "gen_hash_rust": "sha256:f14ba789f921fa829b4410bb4f86778fab2eb9053445ef29d0f7c1a6dad889a6", + "gen_hash_rust": "sha256:de277dd852f63515c6813c5d1142c3c7e8390c99fcfd6c0122f10b5454e3b06d", "gen_hash_verilog": "sha256:063f6d75c93f8ef99989a513dc878c5bb9046504113671ce746145d5c5263124", "gen_hash_zig": "sha256:08ed32e165a7133ed88073312720d5ac3742899d29df87d8d0b0f7bfc7220291", "module": "TriAhoCorasick", "ring": 12, - "sealed_at": "2026-09-05T03:46:00Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:1f8834b84c6a826ec6a074e4df206ae1f99f193629a2352a1916d55619a99d36", "spec_path": "specs/tri/search/aho_corasick.t27" diff --git a/.trinity/seals/search_TriRegex.json b/.trinity/seals/search_TriRegex.json index fdc8b1d96f..4a903ec4d2 100644 --- a/.trinity/seals/search_TriRegex.json +++ b/.trinity/seals/search_TriRegex.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:660802ab81cb01c3f686cb482ed42b8de8df0436b17827b6e0290e37919f02ce", - "gen_hash_rust": "sha256:87c4d83998a104d55b68f3af32465b68e620b4c25707ceff5c85163d89fb9b12", + "gen_hash_rust": "sha256:40fa4775bfa0063c0d934e96912aed8507b816969eff423bc5a396618ffb1148", "gen_hash_verilog": "sha256:9a62a59c257e3c9064c99cbe925d932ad4b50d768e2f2c2ac2ff0ddab730def4", "gen_hash_zig": "sha256:27d367a959667ca85da2fc7021c57e6e1e2aad299ccb593c8341f7f17befc951", "module": "TriRegex", "ring": 12, - "sealed_at": "2026-09-05T09:02:10Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:6320c32ee02d510c440bad498c16a158c855f972cbac68dce8d3c7f2dc604f73", "spec_path": "specs/tri/search/regex.t27" diff --git a/.trinity/seals/search_TriRegexAdvanced.json b/.trinity/seals/search_TriRegexAdvanced.json index ccfc4d4593..522ba803d1 100644 --- a/.trinity/seals/search_TriRegexAdvanced.json +++ b/.trinity/seals/search_TriRegexAdvanced.json @@ -1,11 +1,11 @@ { "gen_hash_c": "sha256:dc463696086a58e698a15a4238ae63a499cbac094429a2387e14cd739910dc1e", - "gen_hash_rust": "sha256:3dd4ca7d1a4e8fdc43845cf5f1cb9bcf2aa65c1723390f967ee3e4a9460a80a3", + "gen_hash_rust": "sha256:303d82e6840a50b9dfa904d835fdbff1c6cdd17d3da02dd7a5aceee0fd6b4be4", "gen_hash_verilog": "sha256:5bb02a292bd10fb53411ca2380e67a3fab3d0800c51962606ce9283d614e28b4", "gen_hash_zig": "sha256:a783e2441cda2f795ad00cc859546633da713b006284dc95d7d1f61818c89332", "module": "TriRegexAdvanced", "ring": 12, - "sealed_at": "2026-09-05T09:02:10Z", + "sealed_at": "2026-09-06T02:45:08Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:73078f0915d6e2de2d4bc5a75df1804dbabd9f0c6bc20f4a1ff5af929673c225", "spec_path": "specs/tri/search/regex_advanced.t27" diff --git a/.trinity/seals/tricgen-c.json b/.trinity/seals/tricgen-c.json index 09720b8ecc..c944e7802c 100644 --- a/.trinity/seals/tricgen-c.json +++ b/.trinity/seals/tricgen-c.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:ea877f253cd5ac5376f712c17e9fad7bd5b3160f10d543632153aafc7a2e9362", - "gen_hash_rust": "sha256:cb527aaf377ae7afe21c90f253a2256c9c0163e2e81bec107abe9448df75de7b", + "gen_hash_rust": "sha256:8ccdd94026d2fc8b2978e5ff47fc6074dd54409b6668492a91dd8c716b8b24af", "gen_hash_verilog": "sha256:3e2fb4ed167ac1510c1a86cfb3e824c778dccfaaa3b16baf9e6a7e97716bcc58", "gen_hash_zig": "sha256:f15884261f7dbdc0dee80274d11768139dcb64e5269f56e51a5e3e1a1cb61ce6", "module": "tricgen-c", diff --git a/.trinity/seals/trilexer.json b/.trinity/seals/trilexer.json index 65b81e9d0c..99894ca619 100644 --- a/.trinity/seals/trilexer.json +++ b/.trinity/seals/trilexer.json @@ -1,6 +1,6 @@ { "gen_hash_c": "sha256:e0063e5c22cb0e01130edf80c41e70cef19d4c2088164e94e787d977df56644e", - "gen_hash_rust": "sha256:e10148d448305cb14ebb66424c7a6c1a807c987e975785693e2b9f818b08ad92", + "gen_hash_rust": "sha256:10bf87cb3809d81e4420d7b69d37e6979ac28a01292170ea45c54a43a9a07560", "gen_hash_verilog": "sha256:954dd0061982280c269c73c9c64a5287ca0b5e0e6af872efcb77a2fd2182645a", "gen_hash_zig": "sha256:6667e1fe7c9916490e6d574942a5035a2113b14101895f81a6ca0a5462e26658", "module": "trilexer", diff --git a/bootstrap/src/compiler.rs b/bootstrap/src/compiler.rs index 113d6b07b3..a2bfaf2cbb 100644 --- a/bootstrap/src/compiler.rs +++ b/bootstrap/src/compiler.rs @@ -23979,7 +23979,11 @@ impl RustCodegen { self.indent += 1; for child in &node.children { if child.kind == NodeKind::EnumVariant { - let variant_name = &child.name; + // The Zig emitter escapes variant names and says why, one comment above + // its own call to `zig_ident`. The rule did not travel here, so a variant + // named with a Rust keyword reached rustc bare: `enum = 12,` and + // `continue = 5,` are what two corpus specs produced. + let variant_name = rust_ident(&child.name); if child.value.is_empty() { self.write_line(&format!("{},", variant_name)); } else { @@ -24020,7 +24024,11 @@ impl RustCodegen { } fn gen_fn(&mut self, node: &Node) { - let fn_name = &node.name; + // A function named with a Rust keyword reached rustc bare: `pub fn match(` and + // `pub fn await(` are what two corpus specs produced. `rust_ident` already + // escapes struct fields, parameters, struct-literal fields and field access; the + // name of the function itself was the position it had not reached. + let fn_name = rust_ident(&node.name); let params: Vec<(String, String)> = node.params.clone(); let params_str = params .iter() diff --git a/bootstrap/stage0/FROZEN_HASH b/bootstrap/stage0/FROZEN_HASH index abf5ea758a..c289c797a7 100644 --- a/bootstrap/stage0/FROZEN_HASH +++ b/bootstrap/stage0/FROZEN_HASH @@ -1 +1 @@ -b109be394c5276ba477b0233a9d344b6d223becff24955ff4dda286b9870716a bootstrap/src/compiler.rs +8c144e6dfce927e3fc8c7c0087c25ce2628be0bc7cf78f6db072f303fb459658 bootstrap/src/compiler.rs diff --git a/docs/now/2026-09-06-a-keyword-name-reaches-rustc-bare.md b/docs/now/2026-09-06-a-keyword-name-reaches-rustc-bare.md new file mode 100644 index 0000000000..2c760da15d --- /dev/null +++ b/docs/now/2026-09-06-a-keyword-name-reaches-rustc-bare.md @@ -0,0 +1,20 @@ +# NOW -- A keyword as a variant or function name reaches rustc bare (2026-09-06) + +## A keyword name reaches rustc bare (Refs #3347) + +- The Zig emitter escapes enum variant names and explains why in a comment one line above + its own call to `zig_ident`. The rule did not travel to Rust, and had never reached the + function name in either backend's Rust output. +- `rust_ident` already escaped struct fields, parameters, struct-literal fields and field + access. Two positions were missing: the enum variant and the function's own name. +- Measured: **336 to 338**, zero regressions. `variant.t27` and `async.t27` compile now. +- The two enum-variant specs still fail, and their causes CHANGED -- + `expected identifier, found keyword` became `in expressions, \`_\` can only be used` + and `expected expression, found \`]\``. That is how the fix was confirmed there. +- Found by censusing the first rustc error of all 245 failures TOGETHER WITH the generated + line. The pairing is what separated four classes hiding inside one error text. +- One correction to that instrument: rustc prints `aborting due to N previous errors` as + an error line, so a naive count of distinct classes said NO spec was one fix away. + Excluding the summary, 95 are. +- A second: "one error away" is a LOWER bound on the work. rustc stops early, so fixing the + first error can surface others it never reached -- both enum specs show it.