wrong_number_of_type_arguments_extension 진단: 확장의 타입 인자 개수가 맞지 않아요

wrong_number_of_type_arguments_extension 진단: 확장의 타입 인자 개수가 맞지 않아요

Dart 분석기가 만들어 내는 wrong_number_of_type_arguments_extension 진단에 대한 설명이에요.

출처: wrong_number_of_type_arguments_extension

본문

확장(extension) '{0}'은(는) 타입 파라미터 {1}개로 선언되어 있는데 타입 인자가 {2}개 주어졌어요.

설명

분석기는 타입 파라미터를 가진 확장을 사용할 때 타입 인자가 제공되지만, 타입 인자의 개수가 타입 파라미터의 개수와 같지 않을 때 이 진단을 만들어요.

예시

다음 코드는 확장 E가 타입 파라미터 하나(T)를 가지도록 선언되었는데 확장 오버라이드에 타입 인자가 두 개 있기 때문에 이 진단을 만들어요.

extension E<T> on List<T> {
  int get len => length;
}

void f(List<int> p) {
  E<int, String>(p).len;
}

흔한 해결 방법

타입 파라미터의 개수와 타입 인자의 개수가 같아지도록 타입 인자를 바꿔요.

extension E<T> on List<T> {
  int get len => length;
}

void f(List<int> p) {
  E<int>(p).len;
}

더 알아보기