Closed
Description
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))
}