Skip to content

crash on compilable code: StackOverflowError #3627

Closed
@helloqirun

Description

@helloqirun

scalac compiles but dotc crashes.

$ dotc -version

Dotty compiler version 0.5.0-bin-SNAPSHOT-git-4fefb64 -- Copyright 2002-2017, LAMP/EPFL

$ dotc abc.scala

-- [E018] Syntax Error: abc.scala:2:25 -----------------------------------------
2 |  def compare(a: T, b: T)
  |                         ^
  |                         missing return type

longer explanation available when compiling with `-explain`
Exception in thread "main" java.lang.StackOverflowError
	at dotty.tools.dotc.typer.ProtoTypes$.wildApprox(ProtoTypes.scala:478)
	at dotty.tools.dotc.typer.ProtoTypes$WildApproxMap.apply(ProtoTypes.scala:551)
	at dotty.tools.dotc.core.Types$TypeMap.op$3(Types.scala:3879)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:3879)
	at dotty.tools.dotc.typer.ProtoTypes$.wildApprox(ProtoTypes.scala:545)
	at dotty.tools.dotc.typer.ProtoTypes$WildApproxMap.apply(ProtoTypes.scala:551)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:3855)
	at dotty.tools.dotc.typer.ProtoTypes$.wildApprox(ProtoTypes.scala:545)
<snipped>

$ cat abc.scala

trait Comparinator[T] {
  def compare(a: T, b: T)
  def sort[T](x: Comparinator[_ >: T]) = ()
  sort((a: String, b: String) => a compareToIgnoreCase (b))
}

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions