J2K judge: kotlinc compiles against JDK 27 while the analysis resolves guava at --release 9 (Ordering.min/max override)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 38/100
Hướng nghiên cứu
Start by reading the J2K ratchet and JavaToKotlinRatchet configuration, then trace how source-set sourceRelease is passed to javac and kotlinc. Compare the two proposed approaches for matching Kotlin compilation to the Java build API level. Done means the decision is implemented and the guava J2K ratchet gains the expected compiling file.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Two of guava's remaining kotlinc errors in the J2K ratchet are 'min'/'max' hides member of supertype 'Comparator' and needs an 'override' modifier in Ordering.kt.
Cause. guava's main source set (guava/9) has sourceRelease: 9. The inspection's javac therefore resolves the JDK API as of Java 9, where java.util.Comparator has no min/max, so Ordering.<E extends T> min(E, E) correctly overrides nothing and prints open fun. The judge's kotlinc (JavaToKotlinRatchet, -jvm-target 21, no -jdk-release) compiles against the full JDK 27 API, where Comparator has default <U extends T> U min(U, U) / max (since JDK 26), and demands override.
Checked on the Mac: a guava parse reports overrides=[] for all eight Ordering.min/max while its Comparator lists min and max; a printer test with the same class (with Iterator/Iterable/varargs overloads and a jspecify T extends @Nullable Object bound) and no source release prints override fun <E : T> min(.
Decision needed. Translation and judge disagree on the JDK API:
- the judge compiles each source set's Kotlin with
-jdk-release <sourceRelease>(for guava's main: 9), matching the Java build. kotlinc then also refuses any JDK API newer than 9 in the translation, which is what guava's own javac does. Test source sets have no release and keep the full JDK; - or the printer emits
overridewhen the running JDK's supertype has the member even if the source release's does not. That yields Kotlin that compiles only against new JDKs.
Option 1 looks right to me: the Kotlin is held to the Java build's own API level. It moves the guava J2K ratchet (expected: +1 compiling file), so it waits for your call.
- Ngôn ngữ chính
- Java
- Star
- 1
- Fork
- 1
- Merge trung bình
- 1 giờ 55 phút
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc 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.
Issue khác của CodeLaser/maddi
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
CodeLaser/maddi#166 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
build/ci good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 1 ngày
-
front-end:rust
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
CodeLaser/maddi#165 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của CodeLaser/maddi
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
quarkusio/quarkus-agent-mcp#302 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
build
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
MetricsHub/metricshub-community#1472 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
IdentityArrayObjectSet iterator remove may throw ArrayIndexOutOfBoundsExceptionCó thể đã có người làm @jiteshkhatri11 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
javapathfinder/jpf-core#660 · 1 bình luận ·