E154: 익명 인스턴스는 비어 있으면 안 돼요

E154: 익명 인스턴스는 비어 있으면 안 돼요 (Anonymous Instance Cannot Be Empty)

익명 given 인스턴스를 타입 구현 없이, 또는 extension 메서드를 하나도 넣지 않고 정의할 때 발생하는 에러예요.

출처: Scala 3 Reference

본문

익명 given은 반드시 특정 타입을 구현하거나 extension 메서드를 하나 이상 포함해야 해요. 내용이 빈 익명 given은 실용적인 쓰임이 없기 때문에 허용되지 않아요.

Example

given {}

Error

-- [E154] Syntax Error: example.scala:1:6 --------------------------------------
1 |given {
  |      ^
  |      anonymous instance must implement a type or have at least one extension method

Solution

trait Printable {
  def print(): Unit
}

// Implement a type
given Printable {
  def print(): Unit = println("hello")
}

참고: 이 에러 코드는 현재 파서 구문으로는 재현하기 어려워요. 파서가 이 검증에 도달하기 전에 보통 구문 에러를 먼저 보고하거든요. 여기 설명된 동작은 이 에러 메시지의 의도된 의미를 반영한 거예요.