위치 필드가 하나뿐인 레코드 리터럴에는 후행 쉼표가 필요해요

위치 필드가 하나뿐인 레코드 리터럴에는 후행 쉼표가 필요해요

위치 필드(positional field)를 정확히 하나만 가진 레코드 리터럴(record literal)은 그 필드 뒤에 후행 쉼표(trailing comma)가 필요해요. 이 진단은 그 쉼표가 빠졌을 때 알려줘요.

출처: record_literal_one_positional_no_trailing_comma

본문

Dart 분석기(analyzer)는 위치 필드를 하나만 가진 레코드 리터럴이 그 필드 뒤에 후행 쉼표를 갖고 있지 않을 때 이 진단을 내요.

어떤 위치에서는 위치 필드를 하나만 가진 레코드 리터럴이 괄호로 감싼 표현식(parenthesized expression)으로도 해석될 수 있어요. 그래서 이 두 가지 모두 유효한 해석 사이를 구분하기 위해 후행 쉼표가 필요한 거예요.

예시

아래 코드는 레코드 리터럴이 위치 필드를 하나만 갖고 있는데 후행 쉼표가 없어서 이 진단이 발생해요.

var r = const (1);

일반적인 해결 방법

후행 쉼표를 추가하면 돼요.

var r = const (1,);

더 알아보기