4b7d256a06
This reverts commite9ca6a5335andd3e00fd35e. Change-Id: I346d6156be19c4fceffa202a7ce9bfa931c7c14b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99560 Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Vijay Menon <vsm@google.com> Reviewed-by: Siva Annamalai <asiva@google.com>
27 lines
889 B
Plaintext
27 lines
889 B
Plaintext
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";
|
|
}
|
|
}
|