E185: Unimported and Imported — 언임포트이면서 임포트됨

E185: Unimported and Imported — 언임포트이면서 임포트됨

같은 import 줄에서 같은 식별자가 임포트(unimport)되면서 동시에 임포트(unimported twice)될 때 발생하는 에러예요.

출처: Scala 3 Reference

본문

Scala 3에서는 as _ 구문으로 멤버를 선택적으로 언임포트할 수 있어요. 그런데 같은 줄에서 같은 식별자를 임포트하면서 동시에 언임포트하는 것은 상반된 의도를 담고 있어 의미가 없어요.

예시 (Example)

object MyLib:
  val value = 42

import MyLib.{value, value as _}

에러 (Error)

-- [E185] Syntax Error: example.scala:4:21 -------------------------------------
4 |import MyLib.{value, value as _}
  |                     ^^^^^
  |                 value is unimported and imported on the same import line.

해결 방법 (Solution)

식별자를 임포트하거나 언임포트하거나 둘 중 하나를 선택하세요:

object MyLib:
  val value = 42

// Either import it:
import MyLib.value

def example(): Int = value

와일드카드 임포트에서 제외하려면 언임포트하세요:

object MyLib:
  val value = 42
  val other = 100

// Unimport value, import everything else:
import MyLib.{value as _, *}

def example(): Int = other

더 알아보기

as _로 언임포트한 멤버를 같은 줄에서 다시 임포트하면 모순이에요. 목적에 맞게 하나만 쓰세요.