blob: 477a9874ad17fc65d73d62e52454a2f33d2bf37b (
plain) (
blame)
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
}
|