-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Java 17 (still) not supported in kore
submodule
#4041
Comments
I'm working to produce a minimal maven project example, but am pretty at a loss why this is happening. I'd appreciate some assistance from anyone more familiar with Maven. |
That's really odd; will take a look and see if I can figure out what's going on! |
Ugh looks like this is still not sufficient - bumping the version fixes a minimized reproduction I have, but doesn't fix #4039. |
After digging through Scala's source code a bit, my understanding is that
This explains why the minimal example I was investigating was fixed by just bumping the However, for K itself, we have inter-dependent Scala and Java code, so the errors were actually arising due to lack of support for Java 17 in While our Scala version (2.12.18) purportedly supports JDK 17, this is a bit misleading, and apparently only refers to bytecode compatibility and being able to run the Scala compiler using that JDK. Support for parsing newer Java source code tends to lag behind. Looking through
However, all of these issues were only patched in We could try submitting an issue requesting similar patches be made to Frustratingly, I think our best option then is to upgrade / port our codebase to |
Wow - excellent debugging Scott! Let's discuss properly later but it seems like the trajectory we want is:
|
This PR makes a couple quick miscellaneous changes: - Updates `maven-compiler-plugin` and `scala-maven-plugin` to their latest versions - Set the Java version with `<release>` rather than `<source>` and `<target>` - `<source>` and `<target>` only set the source code and generated class file formats, but do not take into account API changes between Java releases - This `<release>` tag should automatically be respected by `scala-maven-plugin` as well (once #4041 is fixed) - Disable various Scala language extensions and enable `-Werror` - Not strictly necessary, but I figure this will minimize complications when we port to Scala 2.13.x and later Java - Delete the `KORE.Att()` sugar for `Att.empty()` - Unrelated, the indirection just seemed pointless - Delete `ScalaSugar` - It's only purpose was for implicit conversions, which requires a Scala language extension The commit history is clean, and I recommend reviewing this one commit at a time. --------- Co-authored-by: Bruce Collie <[email protected]> Co-authored-by: rv-jenkins <[email protected]>
Closed by #4168, I think! |
Not quite, still need to wait for runtimeverification/llvm-backend#1024 to automerge then update the frontend Scala version. #4168 is unrelated |
Ah, I thought the update from SK -> LLVM -> K had gone through with #4168 but clearly didn't check well enough! |
Closed by #4171 |
The
kore
submodule seems unable to compile any Java 17 features. Compare the two commits in #4039 , where arecord
class compiles just fine in thekernel
submodule, but the same exact file fails to parse when moved tokore
.I thought I solved this with #4032, however, after doing a fresh clone I'm still encountering the same errors. This will be a blocker for #4038, #4030, and #4022.
The text was updated successfully, but these errors were encountered: