Skip to content

Commit 35ee2a9

Browse files
committed
Add rules for reserved guards
1 parent 014ec49 commit 35ee2a9

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/tokens.md

+7
Original file line numberDiff line numberDiff line change
@@ -889,16 +889,23 @@ r[lex.token.reserved-prefix.edition2021]
889889
890890
## Reserved guards
891891
892+
r[lex.token.reserved-guards]
893+
894+
r[lex.token.reserved-guards.syntax]
892895
> **<sup>Lexer 2024+</sup>**\
893896
> RESERVED_GUARDED_STRING_LITERAL : `#`<sup>+</sup> [STRING_LITERAL]\
894897
> RESERVED_POUNDS : `#`<sup>2..</sup>
895898
899+
r[lex.token.reserved-guards.intro]
896900
The reserved guards are syntax reserved for future use, and will generate a compile error if used.
897901
902+
r[lex.token.reserved-guards.string-literal]
898903
The *reserved guarded string literal* is a token of one or more `U+0023` (`#`) immediately followed by a [STRING_LITERAL].
899904
905+
r[lex.token.reserved-guards.pounds]
900906
The *reserved pounds* is a token of two or more `U+0023` (`#`).
901907
908+
r[lex.token.reserved-guards.edition2024]
902909
> **Edition differences**: Before the 2024 edition, reserved guards are accepted by the lexer and interpreted as multiple tokens. For example, the `#"foo"#` form is interpreted as three tokens. `##` is interpreted as two tokens.
903910
904911
[Inferred types]: types/inferred.md

0 commit comments

Comments
 (0)