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

class C extends core::Object {
  synthetic constructor •() → self::C
    : super core::Object::•()
    ;
  method m<T extends core::Object? = dynamic>(core::int a, [self::C::m::T? b = #C1]) → self::C::m::T%
    return throw "";
}
static method test() → dynamic {
  core::double y = new self::C::•().{self::C::m}<core::double>(1, 2.0){(core::int, [core::double?]) → core::double};
}

constants  {
  #C1 = null
}
