rust-lang / rust-lang/fls

Equivalence of raw and non-raw identifiers

Open
#597 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
reStructuredText
Stars
497
Forks
41
Avg merge
3h 52m
Merged PRs (30d)
4

Description

§2.3 ("Identifiers", fls_21vnag69kbwe) describes the syntax of non-raw and raw identifiers, but nothing in the FLS is saying that, for example, you can define a function named foo and call it using r#foo.

The "Entities and Resolution" chapter repeatedly uses the wording "matches the characters of" when it needs to talk about comparing one identifier with another.

Compare §2.3:17 (fls_j9yh8j8jgdeu), where the FLS does say that there's a form of equivalence for Unicode normalisation:

Two identifiers are considered the same if they consist of the same sequence of characters after performing normalization.

(Though I think it would be nice if that were more closely aligned with the "matches the characters" wording.)

The Reference is in a similar position: ident.normalization says "Two identifiers are equal if their NFC forms are equal." but there's nothing parallel to that in ident.raw.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with §2.3, especially fls_21vnag69kbwe and fls_j9yh8j8jgdeu, then review the Entities and Resolution wording about identifiers matching characters. Check the Reference entries ident.normalization and ident.raw; done means both documents clearly state the equivalence of raw and non-raw identifiers and use consistent wording.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.