typetools / typetools/checker-framework
Array element type should not be inferred as @Poly*
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Java
- Star
- 1.1k
- Fork
- 440
- Merge trung bình
- 1 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 134
Mô tả
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.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với checker-framework/checker/tests/nullness/Issue653.java và kiểm tra cách trình khởi tạo mảng được suy luận khi chứa myNonNullString. Theo dõi cách xử lý @PolyNull như một biến kiểu trong mã suy luận kiểu liên quan. Được xem là hoàn tất khi biểu thức được suy luận là @NonNull String[] thay vì @PolyNull String[] trong ngữ cảnh này, với hồi quy được kiểm thử trong bài kiểm thử của issue.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- compilers, devtools
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 45/100