typetools / typetools/checker-framework
Array element type should not be inferred as @Poly*
オープン
まだ誰も着手していません。
bug
- 主要言語
- Java
- スター
- 1.1k
- フォーク
- 440
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 134
説明
Consider the code in file checker-framework/checker/tests/nullness/Issue653.java.
An expression
new String[] {myNonNullString}
is inferred to be of type
@PolyNull String []
when used in a context where that type is expected.
The expression should be inferred to be of type
@NonNull String []
instead.
More generally, @PolyNull should not be considered a type itself -- it's really a type variable.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
checker-framework/checker/tests/nullness/Issue653.java から始め、myNonNullString を含む場合に配列初期化子がどのように推論されるかを調べてください。関連する型推論コードで、型変数としての @PolyNull の扱いを追跡してください。このコンテキストで式が @PolyNull String[] ではなく @NonNull String[] として推論され、Issue のテストでリグレッションがカバーされていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- compilers, devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100