Repository navigation
Allow $ in identifiers - #8791
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## fix-shadow-rename-collision #8791 +/- ##
===============================================================
- Coverage 80.59% 80.59% -0.01%
===============================================================
Files 453 453
Lines 62028 62029 +1
===============================================================
- Hits 49991 49990 -1
- Misses 12037 12039 +2
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6a5bf292b1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
rescript
@rescript/belt
@rescript/darwin-arm64
@rescript/darwin-x64
@rescript/linux-arm64
@rescript/linux-x64
@rescript/runtime
@rescript/win32-x64
commit: |
|
@codex review |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Signed-off-by: Christoph Knittel <ck@cca.io>
Signed-off-by: Christoph Knittel <ck@cca.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io>
14a034b to
83ce320
Compare
* Allow $ in identifiers Signed-off-by: Christoph Knittel <ck@cca.io> * Test $ identifier shadowing Signed-off-by: Christoph Knittel <ck@cca.io> * Complete $ polyvariant tags without quotes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io> * Format $ identifiers without escapes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io> * CHANGELOG Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io> * Scan identifiers starting with _$ Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io> * Format Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Christoph Knittel <ck@cca.io> --------- Signed-off-by: Christoph Knittel <ck@cca.io> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Pedro Castro <aspeddro@gmail.com>
Allows
$anywhere in identifiers, as in JS (e.g.let count$ = signal(0),let $count = …, record fields, labels and polyvariant tags). Closes #8094.This is #8095 rebased onto #8778, which makes the JS printer's renaming of shadowed variables safe for identifiers containing
$. The$-escaping problem that held up #8095 was that bug, and it already affected escaped identifiers like\"x$1"on master.Compared to #8095:
$identifiers without escapes, so existing\"...$..."names in the repo are reformatted.$polyvariant tags without quotes (#count$, not#"count$").jstring interpolation andPrimitive_curry.resare dropped; both have been removed from master.New tests:
parsing/other/dollarIdent.resandprinter/identifiers/dollarIdent.res;badCharacter.resnow parseslet $ = 1.tests/tests/src/dollar_ident_js_test.respins the JS output for$values, fields and labels.dollar_escape_test.reschecks that a shadowing$doesn't capture a$$1parameter.#dollar$and#count$tags in the completion and exhaustive-switch tests.🤖 Generated with Claude Code