New lint: unused syntax
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 領域
- tooling
調査の方向性
Issue に示されているリファクタリングテストと、Resyntax の展開後コードにおける識別子使用状況の分析から始めてください。展開された構文オブジェクト上で、'disappeared-binding および 'disappeared-use 構文プロパティがどのように表現されているかを調べてください。示されている未使用のローカル define-syntax バインディングが、既存のマクロおよび識別子使用状況の動作を壊さずに削除されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Resyntax should be able to remove unused local define-syntax bindings, like it can define bindings:
#lang resyntax/private/refactoring-test
--------------------
#lang racket
(define (foo)
(define-syntax m (syntax-rules () [(m) (void)]))
(+ 1 2 3))
--------------------
--------------------
#lang racket
(define (foo)
(+ 1 2 3))
--------------------
The trouble is that local syntax bindings become uses of let-syntax, which disappear during macro expansion. Resyntax's identifier usage analysis relies on analyzing the expanded code, so it won't see disappearing let-syntax bindings or disappeared uses of macros. This can be fixed by making Resyntax look at the 'disappeared-binding and 'disappeared-use syntax properties on all syntax objects within the expanded code.
- 主要言語
- Racket
- スター
- 70
- フォーク
- 11
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
jackfirth/resyntax のほかの issue
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
documentation
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
testing
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
testing
難易度 3/5 1〜2日 初心者へのやさしさ 75/100
-
testing
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
jackfirth/resyntax の issue をすべて見る
似ている issue
-
area: harness bug status: needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Human-Agent-Society/reef#625 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
vercel-labs/just-bash#464 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100