Skip to content

MatchError Trees$TypeApply #9775

Closed
@Sciss

Description

@Sciss

Minimized code

trait ThreadedImpl {
  private val threadSync = new AnyRef
  @volatile private var wasClosed = false

  private val thread: Thread = ???

  final protected def isThreadRunning: Boolean =
    thread.isAlive && threadSync.synchronized(!wasClosed)
}

https://scastie.scala-lang.org/NO2TNVGaTtae15HdFyHW5Q

Output

crashes with

dotc: Error: TypeApply(Select(Apply(Select(Typed(This(Ident(ThreadedImpl)),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class impl)),trait ThreadedImpl)]),threadSync),List()),synchronized),List(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Boolean)])) (of class dotty.tools.dotc.ast.Trees$TypeApply)
scala.MatchError: TypeApply(Select(Apply(Select(Typed(This(Ident(ThreadedImpl)),TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class impl)),trait ThreadedImpl)]),threadSync),List()),synchronized),List(TypeTree[TypeRef(ThisType(TypeRef(NoPrefix,module class scala)),class Boolean)])) (of class dotty.tools.dotc.ast.Trees$TypeApply)
	at dotty.tools.backend.jvm.BCodeBodyBuilder.lhs$lzyINIT1$1(BCodeBodyBuilder.scala:1310)
	at dotty.tools.backend.jvm.BCodeBodyBuilder.dotty$tools$backend$jvm$BCodeBodyBuilder$PlainBodyBuilder$$_$lhs$1(BCodeBodyBuilder.scala:1310)
	at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.dotty$tools$backend$jvm$BCodeBodyBuilder$PlainBodyBuilder$$genCond(BCodeBodyBuilder.scala:1324)
	at dotty.tools.backend.jvm.BCodeBodyBuilder.dotty$tools$backend$jvm$BCodeBodyBuilder$PlainBodyBuilder$$_$genZandOrZor$1(BCodeBodyBuilder.scala:1321)
	at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.dotty$tools$backend$jvm$BCodeBodyBuilder$PlainBodyBuilder$$genCond(BCodeBodyBuilder.scala:1326)
	at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genPrimitiveOp(BCodeBodyBuilder.scala:245)
	at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genApply(BCodeBodyBuilder.scala:774)
	at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:356)
	at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.emitNormalMethodBody$1(BCodeSkelBuilder.scala:708)
	at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:743)
	at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:591)
	at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen$$anonfun$1(BCodeSkelBuilder.scala:597)
	at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.immutable.List.foreach(List.scala:333)
	at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:597)
	at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genPlainClass(BCodeSkelBuilder.scala:223)
	at dotty.tools.backend.jvm.GenBCodePipeline$Worker1.visit(GenBCode.scala:227)
	at dotty.tools.backend.jvm.GenBCodePipeline$Worker1.run(GenBCode.scala:192)
	at dotty.tools.backend.jvm.GenBCodePipeline.buildAndSendToDisk(GenBCode.scala:531)
	at dotty.tools.backend.jvm.GenBCodePipeline.run(GenBCode.scala:497)
	at dotty.tools.backend.jvm.GenBCode.run(GenBCode.scala:58)
	at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:296)
	at scala.collection.immutable.List.map(List.scala:250)
	at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:297)
	at dotty.tools.backend.jvm.GenBCode.runOn(GenBCode.scala:62)
	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:195)
	at dotty.tools.dotc.Main.process(Main.scala)
	at xsbt.CachedCompilerImpl.run(CachedCompilerImpl.java:69)

Expectation

should compile

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions