non_constant_set_element
The values in a const set literal must be constants.
Description
#The analyzer produces this diagnostic when a constant set literal contains an element that isn't a compile-time constant.
Example
#The following code produces this diagnostic because i
isn't a constant:
dart
var i = 0;
var s = const {i};
Common fixes
#If the element can be changed to be a constant, then change it:
dart
const i = 0;
var s = const {i};
If the element can't be a constant, then remove the keyword const
:
dart
var i = 0;
var s = {i};
Unless stated otherwise, the documentation on this site reflects Dart 3.7.3. Page last updated on 2025-05-08. View source or report an issue.