Skip to content

Top level implicit class with no arguments crashes in messages #2463

Closed
@nicolasstucki

Description

@nicolasstucki

The source

implicit class Foo

crashes with

Exception in thread "main" java.lang.IndexOutOfBoundsException: 0
	at scala.collection.LinearSeqOptimized$class.apply(LinearSeqOptimized.scala:65)
	at scala.collection.immutable.List.apply(List.scala:84)
	at dotty.tools.dotc.reporting.diagnostic.messages$TopLevelImplicitClass.<init>(messages.scala:355)
	at dotty.tools.dotc.ast.desugar$$anonfun$17.apply(Desugar.scala:475)
	at dotty.tools.dotc.ast.desugar$$anonfun$17.apply(Desugar.scala:475)
	at dotty.tools.dotc.reporting.diagnostic.MessageContainer.contained(MessageContainer.scala:59)
	at dotty.tools.dotc.reporting.diagnostic.MessageContainer.message(MessageContainer.scala:42)
	at dotty.tools.dotc.reporting.diagnostic.MessageContainer.isNonSensical(MessageContainer.scala:71)
	at dotty.tools.dotc.reporting.HideNonSensicalMessages$class.isHidden(HideNonSensicalMessages.scala:17)
	at dotty.tools.dotc.reporting.ConsoleReporter.isHidden(ConsoleReporter.scala:13)
	at dotty.tools.dotc.reporting.Reporter.report(Reporter.scala:232)
	at dotty.tools.dotc.reporting.Reporting$class.error(Reporter.scala:89)
	at dotty.tools.dotc.core.Contexts$Context.error(Contexts.scala:57)
	at dotty.tools.dotc.ast.desugar$.classDef(Desugar.scala:475)
	at dotty.tools.dotc.ast.desugar$.defTree(Desugar.scala:655)
	at dotty.tools.dotc.typer.Namer.expand(Namer.scala:364)
	at dotty.tools.dotc.typer.Namer$$anonfun$index$1.apply(Namer.scala:636)
	at dotty.tools.dotc.typer.Namer$$anonfun$index$1.apply(Namer.scala:636)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at dotty.tools.dotc.typer.Namer.index(Namer.scala:636)
	at dotty.tools.dotc.typer.Namer.dotty$tools$dotc$typer$Namer$$recur$1(Namer.scala:427)
	at dotty.tools.dotc.typer.Namer.indexExpanded(Namer.scala:444)
	at dotty.tools.dotc.typer.Namer.index(Namer.scala:417)
	at dotty.tools.dotc.typer.FrontEnd$$anonfun$enterSyms$1.apply$mcV$sp(FrontEnd.scala:52)
	at dotty.tools.dotc.typer.FrontEnd.monitor(FrontEnd.scala:32)
	at dotty.tools.dotc.typer.FrontEnd.enterSyms(FrontEnd.scala:50)
	at dotty.tools.dotc.typer.FrontEnd.runOn(FrontEnd.scala:89)
	at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:82)
	at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:79)
	at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
	at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
	at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply$mcV$sp(Run.scala:79)
	at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:67)
	at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:67)
	at dotty.tools.dotc.util.Stats$.monitorHeartBeat(Stats.scala:76)
	at dotty.tools.dotc.Run.compileUnits(Run.scala:67)
	at dotty.tools.dotc.Run.compileSources(Run.scala:64)
	at dotty.tools.dotc.Run.compile(Run.scala:48)
	at dotty.tools.dotc.Driver.doCompile(Driver.scala:26)
	at dotty.tools.dotc.Driver.process(Driver.scala:124)
	at dotty.tools.dotc.Driver.process(Driver.scala:93)
	at dotty.tools.dotc.Driver.process(Driver.scala:105)
	at dotty.tools.dotc.Driver.main(Driver.scala:132)
	at dotty.tools.dotc.Main.main(Main.scala)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions