E101: Duplicate Named Type Parameter
E101: Duplicate Named Type Parameter (이름 붙은 타입 파라미터 중복)
이름이 붙은 타입 인자 목록에서 같은 타입 파라미터를 여러 번 정의했을 때 나오는 에러예요.
본문
이름 붙은 타입 인자(타입 파라미터 이름 뒤에 =와 타입을 붙이는 방식)를 사용할 때, 각 타입 파라미터는 딱 한 번만 지정할 수 있어요.
예시
import scala.language.experimental.namedTypeArguments
def example[A, B](a: A, b: B): (A, B) = (a, b)
val result = example[A = Int, A = String](1, "hello")
에러 메시지
-- [E101] Syntax Error: example.scala:5:34 -------------------------------------
5 |val result = example[A = Int, A = String](1, "hello")
| ^^^^^^
| Type parameter A was defined multiple times.
해결 방법
각 타입 파라미터 이름은 한 번만 사용해요.
// Use each type parameter name only once
import scala.language.experimental.namedTypeArguments
def example[A, B](a: A, b: B): (A, B) = (a, b)
val result = example[A = Int, B = String](1, "hello")
더 알아보기
- 이름 붙은 타입 인자 기능은 실험적이에요. 자세한 내용은 Scala 3 Reference의
namedTypeArguments관련 문서를 참고해요.