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

typedef F<V extends core::Object = dynamic> = () → V;
class C<T extends core::Object = dynamic> extends self::D<self::C::T> {
  synthetic constructor •() → void
    : super self::D::•()
    ;
  method f<U extends core::Object = dynamic>(self::C::f::U x) → () → self::C::f::U {}
}
class D<T extends core::Object = dynamic> extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method f<U extends core::Object = dynamic>(self::D::f::U u) → () → self::D::f::U
    return null;
}
static method main() → dynamic {}
