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

class C<T extends core::Object> extends core::Object {
  default constructor •() → void
    : super core::Object::•()
    ;
  method f(self::C::T x) → void {}
}
static method g1(self::C<core::num> c) → void {
  c.{self::C::f}(1.5);
}
static method g2(self::C<core::int> c) → void {
  c.{self::C::f}(1);
}
static method g3(self::C<core::num> c) → void {
  c.{self::C::f}(null);
}
static method main() → dynamic {}
