:스칼라 컴파일러의 유래 보호 내가 할 수있는 런타임에서
def X(R: Any): Any = X(R)
그러나 컴파일 시간에 simmilar 일을 할 수 없습니다
scala> type X[R] = X[R]
<console>:11: error: illegal cyclic reference involving type X
type X[R] = X[R]
^
는 무한 루프/재귀 보호처럼 보이지만까지로 나는 Halting problem을 이해한다 - 탐지기 자체가 멈추지 않을 수 있기 때문에 turing-complete 언어에 대한 무한 재귀를 탐지 할 수있는 일반적인 방법이 없으므로 추가 컴파일러 검사는 일반적으로 여기에서 작동하지 않는다.
그래서 scalac에서 무한 재귀를 얻을 수있는 방법이 있습니까? 그리고 illegal cyclic reference
을 가지고있는 다른 이유가 있습니까? (그러한 재귀를 방지하는 것보다) 이유가 있습니까?