library test;
import self as self;
import "dart:core" as core;

static field core::Map<core::int, core::String> x1 = <core::int, core::String>{1: "x", 2: "y"};
static field core::Map<core::num, core::Pattern> x2 = <core::num, core::Pattern>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
static method test1() → dynamic {
  self::x1.{core::Map::[]=}(3, "z");
  self::x1.{core::Map::[]=}("hi", "w");
  self::x1.{core::Map::[]=}(4.0, "u");
  self::x1.{core::Map::[]=}(3, 42);
  core::Map<core::num, core::String> y = self::x1;
}
static method test2() → dynamic {
  self::x2.{core::Map::[]=}(3, "z");
  self::x2.{core::Map::[]=}("hi", "w");
  self::x2.{core::Map::[]=}(4.0, "u");
  self::x2.{core::Map::[]=}(3, 42);
  core::Pattern p = null;
  self::x2.{core::Map::[]=}(2, p);
  core::Map<core::int, core::String> y = self::x2;
}
static method main() → dynamic {}
