초기화가 없어 타입을 추론할 수 없는 변수

초기화가 없어 타입을 추론할 수 없는 변수 (inference_failure_on_uninitialized_variable)

변수를 선언했는데 타입도 붙이지 않고 초기화 값도 주지 않으면, Dart가 이 변수의 타입이 뭔지 알 수가 없어요. 이 진단은 그렇게 초기화 없이는 타입을 추론할 수 없는 변수가 있을 때 분석기가 알려주는 진단이에요.

출처: inference_failure_on_uninitialized_variable

본문

설명

분석기는 다음 조건이 모두 맞을 때 이 진단을 만들어요.

  • 분석 옵션 파일에서 언어 옵션 strict-inference가 켜져 있고,
  • 변수 선언에 타입이 없으며,
  • 변수의 타입을 추론할 수도 없을 때요.

예시

먼저 분석 옵션 파일에 strict-inference를 켜 둔 다음에요.

analyzer:
  language:
    strict-inference: true

아래 코드는 변수 s에 명시적 타입도 없고, 초기화 값이 없어서 타입을 추론할 수 없기 때문에 이 진단이 나와요.

var s;

흔한 해결 방법

명시적인 타입을 붙여 주면 돼요.

String? s;

더 알아보기