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

typedef F<T extends core::Object> = (T) → void;
class C<T extends core::Object> extends core::Object {
  field (self::C::T) → void y = null;
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method f(self::C::T value) → void {
    this.{self::C::y}(value);
  }
}
static method g(self::C<core::num> c) → void {
  c.y(1.5);
}
static method main() → void {}
