diff --git a/src/identifiers.md b/src/identifiers.md index f9bddd2fa..d1ff6a491 100644 --- a/src/identifiers.md +++ b/src/identifiers.md @@ -5,8 +5,10 @@ >       [`a`-`z` `A`-`Z`] [`a`-`z` `A`-`Z` `0`-`9` `_`]\*\ >    | `_` [`a`-`z` `A`-`Z` `0`-`9` `_`]+ > +> RAW_IDENTIFIER : `r#` IDENTIFIER_OR_KEYWORD *Except `crate`, `extern`, `self`, `super`, `Self`* +> > IDENTIFIER :\ -> IDENTIFIER_OR_KEYWORD *Except a [strict] or [reserved] keyword* +> IDENTIFIER_OR_KEYWORD *Except a [strict] or [reserved] keyword* | RAW_IDENTIFIER An identifier is any nonempty ASCII string of the following form: @@ -21,5 +23,10 @@ Or * The identifier is more than one character. `_` alone is not an identifier. * The remaining characters are alphanumeric or `_`. +A raw identifier is like a normal identifier, but prefixed by `r#`. (Note that +the `r#` prefix is not included as part of the actual identifier.) +Unlike a normal identifier, a raw identifier may be any strict or reserved +keyword except the ones listed above for `RAW_IDENTIFIER`. + [strict]: keywords.html#strict-keywords [reserved]: keywords.html#reserved-keywords