invalid_use_of_covariant_in_extension 진단: 확장에서는 covariant 수식어를 쓸 수 없어요

invalid_use_of_covariant_in_extension 진단: 확장에서는 covariant 수식어를 쓸 수 없어요

Dart 분석기가 내보내는 진단에는 이름이 있어요. invalid_use_of_covariant_in_extension확장(extension) 안에서 선언된 멤버의 파라미터에 covariant 키워드가 사용될 때 분석기가 알려주는 진단이에요. 확장은 클래스가 아니고 서브클래스를 갖지 않기 때문에 이 키워드가 아무 의미가 없거든요.

출처: invalid_use_of_covariant_in_extension

본문

설명

분석기는 확장 안에 선언된 멤버가 파라미터 선언에 covariant 키워드를 사용할 때 이 진단을 만들어요. 확장은 클래스가 아니고 서브클래스를 갖지 않기 때문에, 이 키워드는 아무런 역할을 하지 않아요.

예시

다음 코드는 i가 covariant로 표시되어 있기 때문에 이 진단이 나와요.

extension E on String {
  void a(covariant int i) {}
}

흔한 해결 방법

covariant 키워드를 제거하면 돼요.

extension E on String {
  void a(int i) {}
}

더 알아보기