1eda15854d
Experiments that have not be enabled by default should only be allowed in the current version of the sdk. Closes #45460 Change-Id: I159f390ac85fe37943920717ce11a4c817d5b4a9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193480 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
31 lines
1.6 KiB
Plaintext
31 lines
1.6 KiB
Plaintext
library /*isNonNullableByDefault*/;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class Covariant<T extends core::Object? = dynamic> extends core::Object {
|
|
synthetic constructor •() → self::Covariant<self::Covariant::T%>
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
class Contravariant<contravariant T extends core::Object? = dynamic> extends core::Object {
|
|
synthetic constructor •() → self::Contravariant<self::Contravariant::T%>
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
class Invariant<invariant T extends core::Object? = dynamic> extends core::Object {
|
|
synthetic constructor •() → self::Invariant<self::Invariant::T%>
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
static method covariantListInfer<T extends core::Object? = dynamic>(self::Covariant<core::List<self::covariantListInfer::T%>> x) → void {}
|
|
static method contravariantListInfer<T extends core::Object? = dynamic>(self::Contravariant<core::List<self::contravariantListInfer::T%>> x) → void {}
|
|
static method invariantListInfer<T extends core::Object? = dynamic>(self::Invariant<core::List<self::invariantListInfer::T%>> x) → void {}
|
|
static method main() → dynamic {
|
|
self::Covariant<dynamic> cov = new self::Covariant::•<dynamic>();
|
|
self::covariantListInfer<core::Object?>(new self::Covariant::•<core::List<core::Object?>>());
|
|
self::Contravariant<Never> contra = new self::Contravariant::•<Never>();
|
|
self::contravariantListInfer<core::Object?>(new self::Contravariant::•<core::List<core::Object?>>());
|
|
self::Invariant<dynamic> inv = new self::Invariant::•<dynamic>();
|
|
self::invariantListInfer<core::Object?>(new self::Invariant::•<core::List<core::Object?>>());
|
|
}
|