E185: Unimported and Imported — 언임포트이면서 임포트됨
E185: Unimported and Imported — 언임포트이면서 임포트됨
같은 import 줄에서 같은 식별자가 임포트(unimport)되면서 동시에 임포트(unimported twice)될 때 발생하는 에러예요.
본문
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 _로 언임포트한 멤버를 같은 줄에서 다시 임포트하면 모순이에요. 목적에 맞게 하나만 쓰세요.