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

class C extends core::Object {
  final field dynamic x;
  constructor •(core::int* p) → self::C*
    : self::C::x = self::f<dynamic>(1.+(p)), super core::Object::•()
    ;
}
static method f<T extends core::Object* = dynamic>(self::f::T* t) → self::f::T*
  return t;
static method main() → dynamic {}
