File: t5318c.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (14 lines) | stat: -rw-r--r-- 403 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class CompilerHang {
  trait TC[M[_]]
  trait S[A]

  class C[M[_]] {
    type TCM = TC[M]
  }

  // A nefarious implicit, to motivate the removal of `&& sym.owner.isTerm` from
  // `isFreeTypeParamNoSkolem`.
  implicit def tc[x[_], CC[x[_]] <: C[x]](implicit M0: CC[x]#TCM): CC[x]#TCM = null
  def breakage[F[_] : TC] = 0
  breakage // type checker doesn't terminate, should report inference failure
}