//
// Problems in component:
//
// pkg/front_end/testcases/agnostic/set.dart:7:11: Error: Constant evaluation error:
// const c = {a, b};
//           ^
// pkg/front_end/testcases/agnostic/set.dart:7:15: Context: Constant value is not strong/weak mode agnostic.
// const c = {a, b};
//               ^
// pkg/front_end/testcases/agnostic/set.dart:7:7: Context: While analyzing:
// const c = {a, b};
//       ^
//
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

static const field core::List<core::int> a = #C1;
static const field core::List<core::int?> b = #C2;
static const field core::Set<core::List<core::int?>> c = invalid-expression "Constant value is not strong/weak mode agnostic.";
static method main() → dynamic {}

constants  {
  #C1 = <core::int>[]
  #C2 = <core::int?>[]
}
