conflicting_type_variable_and_member 진단: type parameter와 멤버 이름이 겹치면 안 돼요

conflicting_type_variable_and_member 진단: type parameter와 멤버 이름이 겹치면 안 돼요

conflicting_type_variable_and_member 진단은 type parameter(타입 파라미터)의 이름이 그 type parameter를 선언한 클래스·mixin·extension 안에 있는 멤버(필드나 메서드 등)의 이름과 같을 때 Dart 분석기가 알려주는 컴파일 타임 진단이에요.

출처: conflicting_type_variable_and_member

본문

설명

분석기는 class, mixin, extension 선언이 자기 안에 있는 멤버 중 하나와 같은 이름의 type parameter를 선언할 때 이 진단을 만들어요. enum이나 extension type에서도 마찬가지예요.

예시

다음 코드는 type parameter T가 필드 T와 같은 이름이기 때문에 이 진단이 나와요.

class C<T> {
  int T = 0;
}

흔한 해결 방법

type parameter와 충돌하는 멤버 중 하나의 이름을 바꾸면 돼요.

class C<T> {
  int total = 0;
}

더 알아보기