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

static method test1() → dynamic {
  core::Map<core::Null*, core::Null*>* x = <core::Null*, core::Null*>{null: null};
  x.{core::Map::[]=}(3 as{TypeError} core::Null*, "z" as{TypeError} core::Null*);
}
static method main() → dynamic {}
