Closed
Description
reproduction steps
java --version
openjdk 15 2020-09-15
OpenJDK Runtime Environment (build 15+36-1562)
OpenJDK 64-Bit Server VM (build 15+36-1562, mixed mode, sharing)
A.java
package foo;
public sealed class A{}
final class B extends A{}
Main.scala
package foo
class C extends A
object Main {
def main(args: Array[String]): Unit = {
new C
}
}
build.sbt
javacOptions ++= Seq("--enable-preview", "--release", "15")
scalaVersion := "2.13.3"
// https://github.com/scala/bug/issues/12159
compileOrder := CompileOrder.JavaThenScala
project/build.properties
sbt.version=1.3.13
problem
runtime error 😢
sbt -J--enable-preview run
[info] running foo.Main
[error] (run-main-0) java.lang.IncompatibleClassChangeError: class foo.C cannot inherit from sealed class foo.A
[error] java.lang.IncompatibleClassChangeError: class foo.C cannot inherit from sealed class foo.A
[error] at java.base/java.lang.ClassLoader.defineClass1(Native Method)
[error] at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
[error] at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
[error] at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:514)
[error] at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:422)
[error] at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:416)
[error] at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
[error] at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:415)
[error] stack trace is suppressed; run last Compile / bgRun for the full output
[error] Nonzero exit code: 1
[error] (Compile / run) Nonzero exit code: 1