type_argument_not_matching_bounds 진단: 타입 인자가 타입 매개변수의 범위(bound)를 벗어날 때

type_argument_not_matching_bounds 진단: 타입 인자가 타입 매개변수의 범위(bound)를 벗어날 때

분석기가 내보내는 진단에는 이름이 있어요. type_argument_not_matching_bounds타입 인자가 해당 타입 매개변수의 범위(bound)와 같지 않거나 그 범위의 하위 클래스가 아닐 때 Dart 분석기가 알려주는 진단이에요. 제네릭 타입을 쓸 때 타입 인자는 반드시 선언된 범위를 지켜야 해요.

출처: type_argument_not_matching_bounds 진단

본문

설명

분석기는 타입 인자가 해당 타입 매개변수의 범위(bound)와 같지 않거나 그 범위의 하위 클래스가 아닐 때 이 진단을 만들어요.

예시

다음 코드는 Stringnum의 하위 클래스가 아니기 때문에 이 진단을 만들어요.

class A<E extends num> {}

var a = A<String>();

흔한 해결 방법

타입 인자를 범위(bound)의 하위 클래스로 바꿔요.

class A<E extends num> {}

var a = A<int>();

더 알아보기