void_checks 진단: `void` 타입 변수에 값을 할당하지 마세요

void_checks 진단: void 타입 변수에 값을 할당하지 마세요

void_checksvoid 타입의 변수에 값을 할당할 때 Dart 분석기가 내보내는 진단이에요. void 타입 변수의 값은 접근할 수 없기 때문에 그 할당은 아무 의미가 없어요.

출처: void_checks

본문

설명

분석기는 값이 void 타입의 변수에 할당될 때 이 진단을 만들어요.

그런 변수의 값은 접근할 수 없으므로 할당은 아무 값도 갖지 못해요.

예시

다음 코드는 필드 value의 타입이 void인데 값이 할당되고 있기 때문에 이 진단을 만들어요.

class A {
  T? value;
}

void f(A a) {
  a.value = 1;
}

다음 코드는 메서드 m의 매개변수 p 타입이 void인데 호출에서 값이 할당되고 있기 때문에 이 진단을 만들어요.

class A {
  void m(T p) {}
}

void f(A a) {
  a.m(1);
}

흔한 해결 방법

변수의 타입이 잘못되었다면 변수의 타입을 바꿔요.

class A {
  T? value;
}

void f(A a) {
  a.value = 1;
}

변수의 타입이 올바르다면 할당을 제거해요.

class A {
  T? value;
}

void f(A a) {}

더 알아보기