library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

static method f() → dynamic {
  core::int a = 0;
  has-declared-initializer dynamic b = null;
  Never c = throw "foo";
  () → core::int d = () → core::int => 0;
  () → Null e = () → Null => null;
  () → Never f = () → Never => throw "foo";
  () → core::int g = () → core::int {
    return 0;
  };
  () → Null h = () → Null {
    return null;
  };
  () → Never i = () → Never {
    return throw "foo";
  };
}
static method main() → dynamic {}
