enum의 generative 생성자는 반드시 'const'여야 해요

enum의 generative 생성자는 반드시 'const'여야 해요

Dart 분석기가 enum 선언 안에 const로 표시되지 않은 generative 생성자를 발견하면 이 진단을 내보내요. enum 값은 컴파일 타임에 모두 확정되어야 하기 때문에, enum의 generative 생성자는 항상 const여야 해요.

출처: non_const_generative_enum_constructor

본문

아래 코드는 E 안의 생성자가 const로 표시되어 있지 않아서 이 진단이 발생해요.

enum E {
  e;

  E();
}

흔한 해결 방법

생성자 앞에 const 키워드를 붙여주면 돼요.

enum E {
  e;

  const E();
}

더 알아보기