library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/spread_collection.dart:8:5: Error: Unexpected token '...'.
//     ...[2],
//     ^^^
//
// pkg/front_end/testcases/general/spread_collection.dart:9:5: Error: Unexpected token '...?'.
//     ...?[3]
//     ^^^^
//
// pkg/front_end/testcases/general/spread_collection.dart:13:5: Error: Unexpected token '...'.
//     ...{2: 2},
//     ^^^
//
// pkg/front_end/testcases/general/spread_collection.dart:14:5: Error: Unexpected token '...?'.
//     ...?{3: 3}
//     ^^^^
//
// pkg/front_end/testcases/general/spread_collection.dart:18:5: Error: Unexpected token '...'.
//     ...[2],
//     ^^^
//
// pkg/front_end/testcases/general/spread_collection.dart:19:5: Error: Unexpected token '...?'.
//     ...?[3]
//     ^^^^
//
// pkg/front_end/testcases/general/spread_collection.dart:21:22: Error: Unexpected token '...'.
//   final aSetOrMap = {...foo()};
//                      ^^^
//
import self as self;
import "dart:core" as core;

static method main() → dynamic {
  final dynamic aList = <core::int*>[1];
  final dynamic aMap = <core::int*, core::int*>{1: 1};
  final dynamic aSet = <core::int*>{1};
  final dynamic aSetOrMap = <dynamic, dynamic>{};
  core::print(aList);
  core::print(aSet);
  core::print(aMap);
}
static method foo() → dynamic
  return null;
