blob: 4eb28a070dcb3a43396e0c006f3d815d97be5ce6 [file] [log] [blame]
library test /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
// - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
// c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
// ^
//
// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
// - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
// var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
// ^
//
// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
// - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
// c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
// ^
//
// pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
// - 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
// var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
// ^
//
import self as self;
import "dart:core" as core;
typedef F<contravariant T extends core::Object? = dynamic> = (T%) void;
class B<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::B<self::B::T%>
: super core::Object::•()
;
operator +(covariant-by-class self::B<self::B::T%> other) self::B<self::B::T%>
return throw "";
}
class C<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::C<self::C::T%>
: super core::Object::•()
;
get x() self::B<(self::C::T%) void>
return throw "";
set x(self::B<(self::C::T%) void> value) void {}
get x2() self::B<(self::C::T%) void>?
return null;
set x2(self::B<(self::C::T%) void>? value) void {}
}
static method test(self::C<core::num> c) void {
let final self::C<core::num> #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:22:49: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
self::B<(core::num) → void> y = let final self::C<core::num> #t2 = c in #t2.{self::C::x} = (#t2.{self::C::x}{self::B<(core::num) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>).{self::B::+}(invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:23:57: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
var y = c. /*@checkReturn=B<(num) -> void>*/ x += new B<num>();
^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>){(self::B<(core::num) → void>) → self::B<(core::num) → void>};
let final self::C<core::num> #t3 = c in #t3.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? == null ?{self::B<core::Object>} #t3.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:24:52: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : null;
self::B<core::Object> z = let final self::C<core::num> #t4 = c in let final self::B<(core::num) → void>? #t5 = #t4.{self::C::x2}{self::B<(core::num) → void>?} as{TypeError,CovarianceCheck,ForNonNullableByDefault} self::B<(core::num) → void>? in #t5 == null ?{self::B<core::Object>} #t4.{self::C::x2} = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart:25:60: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>?'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign2.dart'.
var z = c. /*@checkReturn=B<(num) -> void>?*/ x2 ??= new B<num>();
^" in new self::B::•<core::num>() as{TypeError,ForNonNullableByDefault} self::B<(core::num) → void>? : #t5{self::B<(core::num) → void>};
}
static method main() → dynamic {}