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

class C extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method m<T extends core::Object>(self::C::m::T x) → self::C::m::T
    return x;
}
class D extends self::C {
  synthetic constructor •() → void
    : super self::C::•()
    ;
  method m<S extends core::Object>(dynamic x) → dynamic
    return x;
}
static method main() → dynamic {
  core::int y = new self::D::•().m<core::int>(42);
  core::print(y);
}
