rust-lang / rust-lang/reference
Macro docs use term "literal token" which is undefined and confusing
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.6k
- Forks
- 607
- PR merge metrics
- PR metrics pending
Description
When forwarding a matched fragment to another macro-by-example, matchers in the second macro will see an opaque AST of the fragment type. The second macro can’t use literal tokens to match the fragments in the matcher, only a fragment specifier of the same type. The ident, lifetime, and tt fragment types are an exception, and can be matched by literal tokens.
I don't know what a "literal token" is, but it's apparently not the same as a token of kind literal (i.e., $foo:literal), so the term is confusing and also not properly introduced.
Cc @petrochenkov
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the Rust Reference's macros-by-example transcription section linked in the issue and compare "literal token" with the literal fragment kind and the other fragment specifiers. Review the surrounding macro-matching terminology, then revise the explanation so the term is introduced and its distinction from literal fragments is clear.
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
- 48/100