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

class C<T extends core::Object* = dynamic> extends core::Object {
  constructor optional(([self::C::T*]) →* void func) → self::C<self::C::T*>*
    ;
  constructor named(({x: self::C::T*}) →* void func) → self::C<self::C::T*>*
    ;
}
static method optional_toplevel([dynamic x]) → void
  ;
static method named_toplevel({dynamic x}) → void
  ;
static method main() → dynamic
  ;
