blob: 900b40754d99e1a7f7a08e2aa25b8ced9461e596 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// dynamic map21ambiguous = {...(mapSpread as dynamic)};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
// dynamic map24ambiguous = {...spread, ...mapSpread};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
// - 'List' is from 'dart:core'.
// int lhs30 = /*@typeArgs=int*/ [...spread];
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
// int set30 = /*@typeArgs=int*/ {...spread, 42};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
// {...spread};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread, "baz": 42};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set40 = <dynamic>{...notSpreadInt};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// List<String> lhs60 = <String>[...spread];
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// Set<String> set60 = <String>{...spread};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
// Map<int, int> map60 = <int, int>{...mapSpread};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
// Map<String, String> map61 = <String, String>{...mapSpread};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
// List<int> lhs70 = <int>[...null];
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
// Set<int> set70 = <int>{...null};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
// ...null,
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
// Map<String, int> map70 = <String, int>{...null};
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
// List<int> list100 = <int>[...listNum];
// ^
//
// pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
// Map<num, int> map100 = <num, int>{...mapIntNum};
// ^
//
import self as self;
import "dart:core" as core;
import "dart:collection" as col;
static method bar<K extends core::Object? = dynamic, V extends core::Object? = dynamic>() core::Map<self::bar::K%, self::bar::V%>
return throw "";
static method foo(dynamic dynVar) dynamic {
core::List<core::int> spread = <core::int>[1, 2, 3];
core::Map<core::String, core::int> mapSpread = <core::String, core::int>{"foo": 4, "bar": 2};
core::int notSpreadInt = 42;
has-declared-initializer () →? core::int notSpreadFunction = null;
core::Map<core::int, core::num> mapIntNum = <core::int, core::num>{42: 42};
core::List<core::num> listNum = <core::num>[42];
core::List<dynamic> lhs10 = block {
final core::List<dynamic> #t1 = core::List::of<dynamic>(<dynamic>[]);
} =>#t1;
core::Set<dynamic> set10 = block {
final core::Set<dynamic> #t2 = col::LinkedHashSet::of<dynamic>(<dynamic>[]);
} =>#t2;
core::Map<dynamic, dynamic> map10 = block {
final core::Map<dynamic, dynamic> #t3 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
} =>#t3;
core::Map<dynamic, dynamic> map10ambiguous = block {
final core::Map<dynamic, dynamic> #t4 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
} =>#t4;
core::List<core::int> lhs20 = block {
final core::List<core::int> #t5 = core::List::of<core::int>(spread);
} =>#t5;
core::Set<core::int> set20 = block {
final core::Set<core::int> #t6 = col::LinkedHashSet::of<core::int>(spread);
#t6.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
} =>#t6;
core::Set<core::int> set20ambiguous = block {
final core::Set<core::int> #t7 = col::LinkedHashSet::of<core::int>(spread);
} =>#t7;
core::Map<core::String, core::int> map20 = block {
final core::Map<core::String, core::int> #t8 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
#t8.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
} =>#t8;
core::Map<core::String, core::int> map20ambiguous = block {
final core::Map<core::String, core::int> #t9 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
} =>#t9;
core::List<dynamic> lhs21 = block {
final core::List<dynamic> #t10 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
} =>#t10;
core::Set<dynamic> set21 = block {
final core::Set<dynamic> #t11 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
#t11.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
} =>#t11;
core::Map<dynamic, dynamic> map21 = block {
final core::Map<dynamic, dynamic> #t12 = col::LinkedHashMap::of<dynamic, dynamic>((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>);
#t12.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
} =>#t12;
dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
dynamic map21ambiguous = {...(mapSpread as dynamic)};
^";
core::List<core::int> lhs22 = block {
final core::List<core::int> #t13 = core::List::of<core::int>(<core::int>[]);
} =>#t13;
core::Set<core::int> set22 = block {
final core::Set<core::int> #t14 = col::LinkedHashSet::of<core::int>(<core::int>[]);
#t14.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
} =>#t14;
core::Set<core::int> set22ambiguous = block {
final core::Set<core::int> #t15 = col::LinkedHashSet::of<core::int>(<core::int>[]);
} =>#t15;
core::Map<core::String, core::int> map22 = block {
final core::Map<core::String, core::int> #t16 = col::LinkedHashMap::of<core::String, core::int>(<core::String, core::int>{});
} =>#t16;
core::List<core::List<core::int>> lhs23 = block {
final core::List<core::List<core::int>> #t17 = core::List::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
} =>#t17;
core::Set<core::List<core::int>> set23 = block {
final core::Set<core::List<core::int>> #t18 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
#t18.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → core::bool};
} =>#t18;
core::Set<core::List<core::int>> set23ambiguous = block {
final core::Set<core::List<core::int>> #t19 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
} =>#t19;
core::Map<core::String, core::List<core::int>> map23 = block {
final core::Map<core::String, core::List<core::int>> #t20 = col::LinkedHashMap::of<core::String, core::List<core::int>>(<core::String, core::List<core::int>>{"baz": <core::int>[]});
} =>#t20;
dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
dynamic map24ambiguous = {...spread, ...mapSpread};
^";
core::int lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- 'List' is from 'dart:core'.
int lhs30 = /*@typeArgs=int*/ [...spread];
^" in ( block {
final core::List<core::int> #t21 = core::List::of<core::int>(spread);
} =>#t21) as{TypeError,ForNonNullableByDefault} core::int;
core::int set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
int set30 = /*@typeArgs=int*/ {...spread, 42};
^" in ( block {
final core::Set<core::int> #t22 = col::LinkedHashSet::of<core::int>(spread);
#t22.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
} =>#t22) as{TypeError,ForNonNullableByDefault} core::int;
core::int set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
{...spread};
^" in ( block {
final core::Set<core::int> #t23 = col::LinkedHashSet::of<core::int>(spread);
} =>#t23) as{TypeError,ForNonNullableByDefault} core::int;
core::int map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread, \"baz\": 42};
^" in ( block {
final core::Map<core::String, core::int> #t24 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
#t24.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
} =>#t24) as{TypeError,ForNonNullableByDefault} core::int;
core::int map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread};
^" in ( block {
final core::Map<core::String, core::int> #t25 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
} =>#t25) as{TypeError,ForNonNullableByDefault} core::int;
core::List<dynamic> lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
^"];
core::Set<dynamic> set40 = block {
final core::Set<dynamic> #t26 = col::LinkedHashSet::•<dynamic>();
#t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^"){(dynamic) → core::bool};
} =>#t26;
core::Map<dynamic, dynamic> map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
^": null};
core::List<dynamic> lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
^"];
core::Set<dynamic> set50 = block {
final core::Set<dynamic> #t27 = col::LinkedHashSet::•<dynamic>();
#t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^"){(dynamic) → core::bool};
} =>#t27;
core::Map<dynamic, dynamic> map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
^": null};
core::List<core::String> lhs60 = <core::String>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
List<String> lhs60 = <String>[...spread];
^"];
core::Set<core::String> set60 = block {
final core::Set<core::String> #t28 = col::LinkedHashSet::•<core::String>();
#t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
Set<String> set60 = <String>{...spread};
^"){(core::String) → core::bool};
} =>#t28;
core::Map<core::int, core::int> map60 = <core::int, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
Map<int, int> map60 = <int, int>{...mapSpread};
^": null};
core::Map<core::String, core::String> map61 = <core::String, core::String>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
Map<String, String> map61 = <String, String>{...mapSpread};
^"};
core::List<core::int> lhs70 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
List<int> lhs70 = <int>[...null];
^"];
core::Set<core::int> set70 = block {
final core::Set<core::int> #t29 = col::LinkedHashSet::•<core::int>();
#t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^"){(core::int) → core::bool};
} =>#t29;
core::Set<dynamic> set71ambiguous = block {
final core::Set<dynamic> #t30 = col::LinkedHashSet::•<dynamic>();
#t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
...null,
^"){(dynamic) → core::bool};
#t30.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>) → void};
} =>#t30;
core::Map<core::String, core::int> map70 = <core::String, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
Map<String, int> map70 = <String, int>{...null};
^": null};
core::List<core::int> lhs80 = block {
final core::List<core::int> #t31 = <core::int>[];
final has-declared-initializer core::Iterable<core::int>? #t32 = null;
if(!(#t32 == null))
#t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t31;
core::Set<core::int> set80 = block {
final core::Set<core::int> #t33 = col::LinkedHashSet::•<core::int>();
final has-declared-initializer core::Iterable<core::int>? #t34 = null;
if(!(#t34 == null))
#t33.{core::Set::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t33;
core::Set<dynamic> set81ambiguous = block {
final core::Set<dynamic> #t35 = col::LinkedHashSet::•<dynamic>();
final has-declared-initializer core::Iterable<dynamic>? #t36 = null;
if(!(#t36 == null))
#t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
#t35.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>) → void};
} =>#t35;
core::Map<core::String, core::int> map80 = block {
final core::Map<core::String, core::int> #t37 = <core::String, core::int>{};
final has-declared-initializer core::Map<core::String, core::int>? #t38 = null;
if(!(#t38 == null))
#t37.{core::Map::addAll}{Invariant}(#t38{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
} =>#t37;
core::Map<core::String, core::int> map90 = block {
final core::Map<core::String, core::int> #t39 = col::LinkedHashMap::of<core::String, core::int>(self::bar<core::String, core::int>());
} =>#t39;
core::List<core::int> list100 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
List<int> list100 = <int>[...listNum];
^"];
core::Map<core::num, core::int> map100 = <core::num, core::int>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
Map<num, int> map100 = <num, int>{...mapIntNum};
^"};
core::List<core::int> list110 = block {
final core::List<core::int> #t40 = <core::int>[];
for (final has-declared-initializer dynamic #t41 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::int #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::int;
#t40.{core::List::add}{Invariant}(#t42){(core::int) → void};
}
} =>#t40;
core::Map<core::num, core::int> map110 = block {
final core::Map<core::num, core::int> #t43 = <core::num, core::int>{};
for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t44 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}) {
final core::num #t45 = #t44.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
final core::int #t46 = #t44.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
#t43.{core::Map::[]=}{Invariant}(#t45, #t46){(core::num, core::int) → void};
}
} =>#t43;
}
static method main() → dynamic {}