type_argument_not_matching_bounds 진단: 타입 인자가 타입 매개변수의 범위(bound)를 벗어날 때
type_argument_not_matching_bounds 진단: 타입 인자가 타입 매개변수의 범위(bound)를 벗어날 때
분석기가 내보내는 진단에는 이름이 있어요. type_argument_not_matching_bounds는 타입 인자가 해당 타입 매개변수의 범위(bound)와 같지 않거나 그 범위의 하위 클래스가 아닐 때 Dart 분석기가 알려주는 진단이에요. 제네릭 타입을 쓸 때 타입 인자는 반드시 선언된 범위를 지켜야 해요.
본문
설명
분석기는 타입 인자가 해당 타입 매개변수의 범위(bound)와 같지 않거나 그 범위의 하위 클래스가 아닐 때 이 진단을 만들어요.
예시
다음 코드는 String이 num의 하위 클래스가 아니기 때문에 이 진단을 만들어요.
class A<E extends num> {}
var a = A<String>();
흔한 해결 방법
타입 인자를 범위(bound)의 하위 클래스로 바꿔요.
class A<E extends num> {}
var a = A<int>();