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

class A<T extends core::num* = core::num*> extends core::Object {
  synthetic constructor •() → self::A<self::A::T*>*
    : super core::Object::•()
    ;
}
class B extends core::Object {
  synthetic constructor •() → self::B*
    : super core::Object::•()
    ;
  method foo() → dynamic {
    core::Map<self::A<core::num*>*, self::A<core::num*>*>* a = <self::A<core::num*>*, self::A<core::num*>*>{};
  }
}
static method main() → dynamic {
  core::Map<self::A<core::num*>*, self::A<core::num*>*>* a = <self::A<core::num*>*, self::A<core::num*>*>{};
}
