- Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
Compiler version
Scala compiler version 3.6.4 -- Copyright 2002-2025, LAMP/EPFL
Minimized code
trait Collection[Self, Element]: type Index extension (self: Self) def start: Index sealed trait Tree[+T] object Tree: case object Empty extends Tree[Nothing] case class Node[+T](value: T, lhs: Tree[T], rhs: Tree[T]) extends Tree[T] enum Direction: case Left, Right, Here given [T]: Collection[Tree[T], T] with type Index = List[Direction] extension (self: Tree[T]) def start: List[Direction] = match self case Empty => Nil case Node(_, l, _) => l.start :+ Left
Output
Exception in thread "main" java.lang.AssertionError: assertion failed: position error, parent span does not contain child span parent = [T] extends Collection[Tree[T], T] { type Index = List[Direction] extension (self: Tree[T]) { def start: List[Direction] = _root_.scala.Predef.??? def <error> = _root_.scala.Predef.??? def <error> = _root_.scala.Predef.??? } } # -1, parent span = <1682..1884>, child = extension (self: Tree[T]) { def start: List[Direction] = _root_.scala.Predef.??? def <error> = _root_.scala.Predef.??? def <error> = _root_.scala.Predef.??? } # -1, child span = [1747..2046] at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8) at dotty.tools.dotc.ast.Positioned.check$1(Positioned.scala:177) at dotty.tools.dotc.ast.Positioned.check$1$$anonfun$3(Positioned.scala:207) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.collection.immutable.List.foreach(List.scala:334) at dotty.tools.dotc.ast.Positioned.check$1(Positioned.scala:207) at dotty.tools.dotc.ast.Positioned.checkPos(Positioned.scala:228) at dotty.tools.dotc.ast.Positioned.check$1(Positioned.scala:202) at dotty.tools.dotc.ast.Positioned.checkPos(Positioned.scala:228) at dotty.tools.dotc.ast.Positioned.check$1(Positioned.scala:202) at dotty.tools.dotc.ast.Positioned.check$1$$anonfun$3(Positioned.scala:207) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.collection.immutable.List.foreach(List.scala:334) at dotty.tools.dotc.ast.Positioned.check$1(Positioned.scala:207) at dotty.tools.dotc.ast.Positioned.checkPos(Positioned.scala:228) at dotty.tools.dotc.parsing.Parser.parse$$anonfun$1(ParserPhase.scala:39) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at dotty.tools.dotc.core.Phases$Phase.monitor(Phases.scala:510) at dotty.tools.dotc.parsing.Parser.parse(ParserPhase.scala:40) at dotty.tools.dotc.parsing.Parser.$anonfun$2(ParserPhase.scala:52) at scala.collection.Iterator$$anon$6.hasNext(Iterator.scala:479) at scala.collection.Iterator$$anon$9.hasNext(Iterator.scala:583) at scala.collection.immutable.List.prependedAll(List.scala:152) at scala.collection.immutable.List$.from(List.scala:685) at scala.collection.immutable.List$.from(List.scala:682) at scala.collection.IterableOps$WithFilter.map(Iterable.scala:900) at dotty.tools.dotc.parsing.Parser.runOn(ParserPhase.scala:51) at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:343) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323) at dotty.tools.dotc.Run.runPhases$1(Run.scala:336) at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:383) at dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:395) at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:69) at dotty.tools.dotc.Run.compileUnits(Run.scala:395) at dotty.tools.dotc.Run.compileSources(Run.scala:282) at dotty.tools.dotc.Run.compile(Run.scala:267) at dotty.tools.dotc.Driver.doCompile(Driver.scala:37) at dotty.tools.dotc.Driver.process(Driver.scala:201) at dotty.tools.dotc.Driver.process(Driver.scala:169) at dotty.tools.dotc.Driver.process(Driver.scala:181) at dotty.tools.dotc.Driver.main(Driver.scala:211) at dotty.tools.dotc.Main.main(Main.scala) Compilation failed
Expectation
Compiler should not crash.