blob: 4bf80e96c4609da7eb23de25ee919f42bac661c8 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class _Y<T extends core::Object = dynamic> extends core::Object {
const constructor •() self::_Y<self::_Y::T>
: super core::Object::•()
;
}
class A<T extends core::Object = dynamic> extends core::Object {
generic-covariant-impl field self::_Y<self::A::T> x;
constructor •(self::_Y<self::A::T> x) self::A<self::A::T>
: self::A::x = x, super core::Object::•()
;
}
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
constructor •() self::B<self::B::T>
: super self::A::•(const self::_Y::•<core::Null>())
;
}
static method main() dynamic {
dynamic x = new self::B::•<dynamic>().{self::A::x};
if(!(x is self::_Y<core::Null>)) {
throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
}
}