Skip to content

Commit

Permalink
2024: Add reserved syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
ehuss committed Nov 4, 2024
1 parent da0f6da commit 014ec49
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -887,9 +887,24 @@ r[lex.token.reserved-prefix.edition2021]
> lexes!{match"..." {}}
> ```
## Reserved guards
> **<sup>Lexer 2024+</sup>**\
> RESERVED_GUARDED_STRING_LITERAL : `#`<sup>+</sup> [STRING_LITERAL]\
> RESERVED_POUNDS : `#`<sup>2..</sup>
The reserved guards are syntax reserved for future use, and will generate a compile error if used.
The *reserved guarded string literal* is a token of one or more `U+0023` (`#`) immediately followed by a [STRING_LITERAL].
The *reserved pounds* is a token of two or more `U+0023` (`#`).
> **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
[Range patterns]: patterns.md#range-patterns
[Reference patterns]: patterns.md#reference-patterns
[STRING_LITERAL]: tokens.md#string-literals
[Subpattern binding]: patterns.md#identifier-patterns
[Wildcard patterns]: patterns.md#wildcard-pattern
[arith]: expressions/operator-expr.md#arithmetic-and-logical-binary-operators
Expand Down

0 comments on commit 014ec49

Please sign in to comment.