Skip to content

Commit

Permalink
Add rules for reserved guards
Browse files Browse the repository at this point in the history
  • Loading branch information
ehuss committed Nov 4, 2024
1 parent 014ec49 commit 35ee2a9
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -889,16 +889,23 @@ r[lex.token.reserved-prefix.edition2021]
## Reserved guards
r[lex.token.reserved-guards]
r[lex.token.reserved-guards.syntax]
> **<sup>Lexer 2024+</sup>**\
> RESERVED_GUARDED_STRING_LITERAL : `#`<sup>+</sup> [STRING_LITERAL]\
> RESERVED_POUNDS : `#`<sup>2..</sup>
r[lex.token.reserved-guards.intro]
The reserved guards are syntax reserved for future use, and will generate a compile error if used.
r[lex.token.reserved-guards.string-literal]
The *reserved guarded string literal* is a token of one or more `U+0023` (`#`) immediately followed by a [STRING_LITERAL].
r[lex.token.reserved-guards.pounds]
The *reserved pounds* is a token of two or more `U+0023` (`#`).
r[lex.token.reserved-guards.edition2024]
> **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.
[Inferred types]: types/inferred.md
Expand Down

0 comments on commit 35ee2a9

Please sign in to comment.