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

class C<T extends core::Object> extends core::Object {
  field self::C::T t = null;
  constructor _() → void
    : super core::Object::•()
    ;
  static factory •<T extends core::Object>(self::C::•::T t) → self::C<self::C::•::T> {
    self::C<self::C::•::T> x = new self::C::_<self::C::•::T>();
    x.{self::C::t} = t;
    return x;
  }
}
static method main() → dynamic {
  self::C<core::int> x = self::C::•<core::int>(42);
  x.{self::C::t} = "hello";
}
