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

class Foo<T extends core::Pattern = dynamic> extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method method<U extends self::Foo::T = dynamic>(self::Foo::method::U u) → self::Foo::method::U
    return u;
}
static method main() → dynamic {
  new self::Foo::•<core::String>().method(42);
}
