unnecessary_null_assert_pattern 진단: 널이 아닌 값에 쓰는 쓸데없는 null 단언 패턴

unnecessary_null_assert_pattern 진단: 널이 아닌 값에 쓰는 쓸데없는 null 단언 패턴

null 단언 패턴(!)이 매치 대상 타입이 널이 아닐 때는 아무 효과도 없다는 것을 분석기가 알려주는 진단이에요. 값이 절대 null이 될 수 없는데 ! 패턴을 붙이면 그 패턴은 의미가 없거든요.

출처: unnecessary_null_assert_pattern

본문

설명

분석기는 null 단언 패턴을 사용해서 널이 아닌 값에 매치할 때 이 진단을 만들어요. 값이 널이 아닌 타입이라면 단언 패턴이 할 일이 없기 때문이에요.

예시

아래 코드는 변수 x가 널이 아니기 때문에 이 진단을 만들어요.

void f(int x) {
  if (x case var a! when a > 0) {}
}

흔한 해결 방법

null 단언 패턴을 제거해요.

void f(int x) {
  if (x case var a when a > 0) {}
}

더 알아보기