tree-sitter / tree-sitter/tree-sitter-cpp

Attribute syntax TODO: support using

Open
#226 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
453
Forks
185
PR merge metrics
No merged PRs in 30d

Description

Since C++17, attributes can have using in them:

[[using name::space: attr]]

Also (this is admittedly strange) the C++ grammar doesn't introduce an attribute with a single [[ token but with two tokens [ [.
(Yes, this means it's really annoying to call an immediately-invoked lambda inside a call to operator[]).

Contributor guide

No contributing guide indexed for this repository

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

The issue does not name any files or tests. Start by locating the C++ grammar rules and tests for attributes, then compare the current handling with the shown C++17 using form and the separate [ [ tokenization; done means both forms parse correctly without breaking existing attribute or subscript cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.