You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
--Error: test.scala:6:25------------------------------------------------------6|defparentName=super.name
|^^^^^^^^^^|method name in traitParent is accessed from super. It may not be abstract unless it is overridden by a member declared `abstract' and `override'
I think this requires further elaboration 😅 🤔
Output (click arrow to expand)
exception occurred while compiling test.scala
java.lang.AssertionError: assertion failed while compiling test.scala
Exception in thread "main" java.lang.AssertionError: assertion failed
at dotty.DottyPredef$.assertFail(DottyPredef.scala:16)
at dotty.tools.dotc.transform.ResolveSuper$.rebindSuper(ResolveSuper.scala:100)
at dotty.tools.dotc.transform.ResolveSuper.superAccessors$2$$anonfun$2(ResolveSuper.scala:51)
at scala.collection.immutable.List.map(List.scala:246)
at dotty.tools.dotc.transform.ResolveSuper.superAccessors$3(ResolveSuper.scala:52)
at dotty.tools.dotc.transform.ResolveSuper.$anonfun$1(ResolveSuper.scala:54)
at scala.collection.immutable.List.flatMap(List.scala:293)
at dotty.tools.dotc.transform.ResolveSuper.transformTemplate(ResolveSuper.scala:54)
at dotty.tools.dotc.transform.ResolveSuper.transformTemplate(ResolveSuper.scala:42)
at dotty.tools.dotc.transform.MegaPhase.goTemplate(MegaPhase.scala:971)
at dotty.tools.dotc.transform.MegaPhase.goTemplate(MegaPhase.scala:972)
at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:340)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:396)
at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:251)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:394)
at dotty.tools.dotc.transform.MegaPhase.transformStat$2(MegaPhase.scala:404)
at dotty.tools.dotc.transform.MegaPhase.$anonfun$1(MegaPhase.scala:409)
at scala.collection.immutable.List.mapConserve(List.scala:472)
at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:409)
at dotty.tools.dotc.transform.MegaPhase.mapPackage$1(MegaPhase.scala:356)
at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:359)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:396)
at dotty.tools.dotc.transform.MegaPhase.transformUnit(MegaPhase.scala:415)
at dotty.tools.dotc.transform.MegaPhase.run(MegaPhase.scala:427)
at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:318)
at scala.collection.immutable.List.map(List.scala:246)
at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:319)
at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:180)
at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at dotty.tools.dotc.Run.runPhases$5(Run.scala:190)
at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:198)
at dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:64)
at dotty.tools.dotc.Run.compileUnits(Run.scala:205)
at dotty.tools.dotc.Run.compileSources(Run.scala:142)
at dotty.tools.dotc.Run.compile(Run.scala:124)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
at dotty.tools.dotc.Driver.process(Driver.scala:194)
at dotty.tools.dotc.Driver.process(Driver.scala:163)
at dotty.tools.dotc.Driver.process(Driver.scala:175)
at dotty.tools.dotc.Driver.main(Driver.scala:202)
at dotty.tools.dotc.Main.main(Main.scala)
The text was updated successfully, but these errors were encountered:
The following compiles in a single package or removing protected modifier but fails in this form:
package apackage {
abstract class A {
protected val x: Int
}
abstract class A2 {
val x: Int
}
}
package bpackage {
import apackage._
trait B extends A {
println(x)
}
trait B2 extends A2 {
println(x)
}
}
package cpackage {
import apackage._
import bpackage._
case class C(override protected val x: Int) extends A with B
case class C2(override val x: Int) extends A2 with B2
}
Minimized code
If I remove
abstract
, I get:I think this requires further elaboration 😅 🤔
Output (click arrow to expand)
The text was updated successfully, but these errors were encountered: