E047: Cyclic Reference Involving Implicit — 암시적 값을 포함한 순환 참조예요
E047: Cyclic Reference Involving Implicit — 암시적 값을 포함한 순환 참조예요
컴파일러가 암시적 값(implicit value)을 포함한 순환 참조를 감지했을 때 이 에러가 나와요.
본문
컴파일러 메시지는 이렇게 말해요. "Cyclic reference involving implicit
문제가 되는 심볼(symbol)이 순환 고리의 일부로 선언되어 있어서 컴파일러가 그 타입을 결정할 수 없어요. 이런 일은 주로 심볼 정의의 오른쪽(RHS)에, 추론되고 있는 타입에 의존하는 암시적 탐색(implicit search) 이 포함되어 있을 때 생겨요.
이 에러를 피하려면 심볼에 명시적인 타입 애너테이션을 붙여 주는 걸 시도해 볼게요.
이 에러는 CyclicReferenceInvolving(E046)과 관련이 있지만, 순환 고리에 암시적 값이 포함된 경우를 특별히 다뤄요. TypeErrors.scala에서 이런 조건일 때 발생해요.
- 심볼이 given이나 implicit
val일 때(메서드는 제외) - 심볼의 소유자(owner)가 용어(term, 로컬 스코프)일 때