Skip to content

release 0.2.3#10

Merged
math3usmartins merged 2 commits into
mainfrom
0.2.x
Jun 13, 2026
Merged

release 0.2.3#10
math3usmartins merged 2 commits into
mainfrom
0.2.x

Conversation

@math3usmartins

Copy link
Copy Markdown
Member

No description provided.

math3usmartins and others added 2 commits June 13, 2026 20:25
Concrete type arguments at a turbofish call site were tagged
`typeParameter`, which per LSP semantics denotes a *formal* type
variable, not a concrete type supplied at a use site. The token scan
now tracks each generic clause's kind (declaration vs call-site) and
classifies in-clause identifiers accordingly:

  - declaration clause (`class Box<T>`, `fn<T>`): formal params stay
    `typeParameter`;
  - call-site turbofish (`Box::<int>`, `Util::identity::<Banana>`):
    each concrete arg paints by resolved kind -- builtin/scalar ->
    `type`, a forwarded in-scope type variable -> `typeParameter`,
    otherwise a named user type -> `class`.

Forwarded-T detection reuses the AST walk, which now also exports a
file-wide set of declared type-param names for the token pass to
consult (threaded like the existing reclassify-variable map).

Also emit `operator` tokens for the turbofish punctuation `::`, `<`,
`>` so the delimiters are no longer rendered uncolored, scoped to
generic clauses only (a bare `Foo::BAR` never colors its `::`).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Release 0.2.3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@math3usmartins math3usmartins requested a review from a team June 13, 2026 21:18
@math3usmartins math3usmartins merged commit 08bed05 into main Jun 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant