non_constant_set_element 진단: const set 리터럴의 값은 상수여야 해요

non_constant_set_element 진단: const set 리터럴의 값은 상수여야 해요

Dart 분석기가 만들어 내는 non_constant_set_element 진단은 const set 리터럴 안에 컴파일 타임 상수가 아닌 요소가 있을 때 알려주는 컴파일 타임 진단이에요. 상수 set 리터럴 안의 모든 값은 반드시 컴파일 타임에 결정되는 상수여야 해요.

출처: non_constant_set_element

본문

설명

분석기는 상수 set 리터럴(const set literal)에 컴파일 타임 상수가 아닌 요소가 포함되어 있을 때 이 진단을 만들어요.

예시

다음 코드는 i가 상수가 아니기 때문에 이 진단을 만들어요.

var i = 0;

var s = const {i};

흔한 해결 방법

요소를 상수로 바꿀 수 있다면, 상수로 바꿔요.

const i = 0;

var s = const {i};

만약 요소가 상수가 될 수 없다면, const 키워드를 제거해요.

var i = 0;

var s = {i};

더 알아보기