// Unhandled errors:
//
// pkg/front_end/testcases/var_as_type_name.dart:6:15: Error: The keyword 'var' can't be used as a type name.
//   Map<String, var> m;
//               ^^^
//
// pkg/front_end/testcases/var_as_type_name.dart:6:15: Error: Type 'var' not found.
//   Map<String, var> m;
//               ^^^
//
// pkg/front_end/testcases/var_as_type_name.dart:6:15: Error: 'var' isn't a type.
//   Map<String, var> m;
//               ^^^

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

class A extends core::Object {
  field core::Map<core::String, invalid-type> m = null;
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
}
static method main() → dynamic {
  self::A a = new self::A::•();
  a.{self::A::m} = null;
}
