E113: Symbol Has Unparsable Version Number

E113: Symbol Has Unparsable Version Number (파싱 불가능한 버전 번호)

@migration 어노테이션이 붙은 심볼의 버전 번호를 파싱할 수 없을 때 나오는 에러예요.

출처: Scala 3 Reference

본문

컴파일러 메시지가 알려주는 내용은 이렇게 정리돼요.

  • 그 심볼은 버전 사이에 의미가 바뀌었음을 나타내는 @migration으로 표시되어 있어요
  • -Xmigration 설정은 동작이 바뀌었을 수 있는 구문에 대해 경고를 띄울 때 사용돼요
  • 어노테이션의 버전 번호가 형식에 맞지 않아요

@migration 어노테이션은 Scala 표준 라이브러리가 Scala 버전 사이에 동작이 바뀐 메서드를 표시할 때 내부적으로 사용해요. -Xmigration 컴파일러 플래그를 쓰면 이런 메서드를 사용할 때 경고를 띄워주죠.

@migration은 주로 표준 라이브러리에서 쓰이기 때문에, 단순한 사용자 코드로 이 에러를 재현하긴 어려워요.

해결하려면 @migration 어노테이션의 버전 번호가 유효한 형식(예: "2.13.0")을 따르도록 해야 해요.

참고: -Xmigration은 안정화된 Scala 3에서는 구현된 적이 없지만, Scala 2.13 라이브러리를 사용하면 컴파일러가 @migration 어노테이션을 찾을 수 있어요.