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

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