Closed
Description
Compiler version
3.2.2, 3.3.0-RC1
Minimized code
Java:
public class Foo {
public Foo(String... xs) { }
}
Scala:
class Bar extends Foo {
def this(xs: String*) = this()
}
Output (click arrow to expand)
[info] compiling 1 Scala source and 1 Java source to E:\prog\jvm\scala\bugs\java-varargs\target\scala-3.2.2\classes ...
java.lang.AssertionError: assertion failed: constructor Bar in class Bar while running MegaPhase{crossVersionChecks, protectedAccessors, extmethods, uncacheGivenAliases, elimByName, hoistSuperArgs, forwardDepChecks, specializeApplyMethods, tryCatchPatterns, patternMatcher} on E:\prog\jvm\scala\bugs\java-varargs\src\main\scala\Bar.scala
[info] exception occurred while compiling E:\prog\jvm\scala\bugs\java-varargs\src\main\scala\Bar.scala
java.lang.AssertionError: assertion failed: constructor Bar in class Bar while compiling E:\prog\jvm\scala\bugs\java-varargs\src\main\java\Foo.java, E:\prog\jvm\scala\bugs\java-varargs\src\main\scala\Bar.scala
[error] ## Exception when compiling 2 sources to E:\prog\jvm\scala\bugs\java-varargs\target\scala-3.2.2\classes
[error] java.lang.AssertionError: assertion failed: constructor Bar in class Bar
[error] scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
[error] dotty.tools.dotc.transform.ForwardDepChecks.checkSelfConstructorCall(ForwardDepChecks.scala:117)
[error] dotty.tools.dotc.transform.ForwardDepChecks.transformApply(ForwardDepChecks.scala:123)
[error] dotty.tools.dotc.transform.ForwardDepChecks.transformApply(ForwardDepChecks.scala:120)
[error] dotty.tools.dotc.transform.MegaPhase.goApply(MegaPhase.scala:650)