Skip to content

-WUnused crash on failed compilation #17335

Closed
@KacperFKorban

Description

@KacperFKorban

Compiler version

3.3.0-RC(1|2|3|4), main

No crash with 3.2.2

Minimized code

//> using scala "3.3.0-RC4"
//> using options "-Wunused:all"

def aMethod() =
  doStuff { (x) => x }

Output (click arrow to expand)

dotty.tools.dotc.ast.Trees$UnAssignedTypeException: type of Function(List(ValDef(x,TypeTree,EmptyTree)),Block(List(),Ident(x))) is not assigned while running checkUnusedPostTyper on unused-error-crash.scala
exception occurred while compiling unused-error-crash.scala
dotty.tools.dotc.ast.Trees$UnAssignedTypeException: type of Function(List(ValDef(x,TypeTree,EmptyTree)),Block(List(),Ident(x))) is not assigned while compiling unused-error-crash.scala
Exception in thread "main" dotty.tools.dotc.ast.Trees$UnAssignedTypeException: type of Function(List(ValDef(x,TypeTree,EmptyTree)),Block(List(),Ident(x))) is not assigned
	at dotty.tools.dotc.ast.Trees$Tree.tpe(Trees.scala:71)
	at dotty.tools.dotc.ast.tpd$TypedTreeCopier.Block(tpd.scala:664)
	at dotty.tools.dotc.transform.MegaPhase.loop$2(MegaPhase.scala:448)
	at dotty.tools.dotc.transform.MegaPhase.transformBlock(MegaPhase.scala:449)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:298)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.loop$3(MegaPhase.scala:459)
	at dotty.tools.dotc.transform.MegaPhase.transformTrees(MegaPhase.scala:459)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:279)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.mapDefDef$1(MegaPhase.scala:248)
	at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:251)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:425)
	at dotty.tools.dotc.transform.MegaPhase.loop$1(MegaPhase.scala:438)
	at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:438)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:359)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:255)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:425)
	at dotty.tools.dotc.transform.MegaPhase.loop$1(MegaPhase.scala:438)
	at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:438)
	at dotty.tools.dotc.transform.MegaPhase.mapPackage$1(MegaPhase.scala:379)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:382)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.transformUnit(MegaPhase.scala:454)
	at dotty.tools.dotc.transform.MegaPhase.run(MegaPhase.scala:466)
	at dotty.tools.dotc.transform.MegaPhase$MiniPhase.run(MegaPhase.scala:131)
	at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:324)
	at scala.collection.immutable.List.map(List.scala:246)
	at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:328)
	at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:247)
	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:1321)
	at dotty.tools.dotc.Run.runPhases$1(Run.scala:263)
	at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:271)
	at dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:280)
	at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67)
	at dotty.tools.dotc.Run.compileUnits(Run.scala:280)
	at dotty.tools.dotc.Run.compileSources(Run.scala:195)
	at dotty.tools.dotc.Run.compile(Run.scala:179)
	at dotty.tools.dotc.Driver.doCompile(Driver.scala:35)
	at dotty.tools.dotc.Driver.process(Driver.scala:195)
	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:205)
	at dotty.tools.dotc.Main.main(Main.scala)
Compilation failed

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions