diff --git a/pkg/front_end/lib/src/codes/cfe_codes_generated.dart b/pkg/front_end/lib/src/codes/cfe_codes_generated.dart index ef100fb70bd..92da17deb98 100644 --- a/pkg/front_end/lib/src/codes/cfe_codes_generated.dart +++ b/pkg/front_end/lib/src/codes/cfe_codes_generated.dart @@ -4241,96 +4241,6 @@ Message _withArgumentsSpreadMapEntryElementKeyTypeMismatch( ); } -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Template - templateSpreadMapEntryElementKeyTypeMismatchNullability = - const Template( - "SpreadMapEntryElementKeyTypeMismatchNullability", - problemMessageTemplate: - r"""Can't assign spread entry keys of type '#type' to map entry keys of type '#type2' because '#type' is nullable and '#type2' isn't.""", - withArguments: _withArgumentsSpreadMapEntryElementKeyTypeMismatchNullability, -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Code - codeSpreadMapEntryElementKeyTypeMismatchNullability = - const Code( - "SpreadMapEntryElementKeyTypeMismatchNullability", - analyzerCodes: ["MAP_KEY_TYPE_NOT_ASSIGNABLE"], -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -Message _withArgumentsSpreadMapEntryElementKeyTypeMismatchNullability( - DartType _type, DartType _type2) { - TypeLabeler labeler = new TypeLabeler(); - List typeParts = labeler.labelType(_type); - List type2Parts = labeler.labelType(_type2); - String type = typeParts.join(); - String type2 = type2Parts.join(); - return new Message( - codeSpreadMapEntryElementKeyTypeMismatchNullability, - problemMessage: - """Can't assign spread entry keys of type '${type}' to map entry keys of type '${type2}' because '${type}' is nullable and '${type2}' isn't.""" + - labeler.originMessages, - arguments: { - 'type': _type, - 'type2': _type2, - }, - ); -} - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Template< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)> - templateSpreadMapEntryElementKeyTypeMismatchPartNullability = - const Template< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)>( - "SpreadMapEntryElementKeyTypeMismatchPartNullability", - problemMessageTemplate: - r"""Can't assign spread entry keys of type '#type' to map entry keys of type '#type2' because '#type3' is nullable and '#type4' isn't.""", - withArguments: - _withArgumentsSpreadMapEntryElementKeyTypeMismatchPartNullability, -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Code< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)> - codeSpreadMapEntryElementKeyTypeMismatchPartNullability = const Code< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)>( - "SpreadMapEntryElementKeyTypeMismatchPartNullability", - analyzerCodes: ["MAP_KEY_TYPE_NOT_ASSIGNABLE"], -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -Message _withArgumentsSpreadMapEntryElementKeyTypeMismatchPartNullability( - DartType _type, DartType _type2, DartType _type3, DartType _type4) { - TypeLabeler labeler = new TypeLabeler(); - List typeParts = labeler.labelType(_type); - List type2Parts = labeler.labelType(_type2); - List type3Parts = labeler.labelType(_type3); - List type4Parts = labeler.labelType(_type4); - String type = typeParts.join(); - String type2 = type2Parts.join(); - String type3 = type3Parts.join(); - String type4 = type4Parts.join(); - return new Message( - codeSpreadMapEntryElementKeyTypeMismatchPartNullability, - problemMessage: - """Can't assign spread entry keys of type '${type}' to map entry keys of type '${type2}' because '${type3}' is nullable and '${type4}' isn't.""" + - labeler.originMessages, - arguments: { - 'type': _type, - 'type2': _type2, - 'type3': _type3, - 'type4': _type4, - }, - ); -} - // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. const Template templateSpreadMapEntryElementValueTypeMismatch = @@ -4369,97 +4279,6 @@ Message _withArgumentsSpreadMapEntryElementValueTypeMismatch( ); } -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Template - templateSpreadMapEntryElementValueTypeMismatchNullability = - const Template( - "SpreadMapEntryElementValueTypeMismatchNullability", - problemMessageTemplate: - r"""Can't assign spread entry values of type '#type' to map entry values of type '#type2' because '#type' is nullable and '#type2' isn't.""", - withArguments: - _withArgumentsSpreadMapEntryElementValueTypeMismatchNullability, -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Code - codeSpreadMapEntryElementValueTypeMismatchNullability = - const Code( - "SpreadMapEntryElementValueTypeMismatchNullability", - analyzerCodes: ["MAP_VALUE_TYPE_NOT_ASSIGNABLE"], -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -Message _withArgumentsSpreadMapEntryElementValueTypeMismatchNullability( - DartType _type, DartType _type2) { - TypeLabeler labeler = new TypeLabeler(); - List typeParts = labeler.labelType(_type); - List type2Parts = labeler.labelType(_type2); - String type = typeParts.join(); - String type2 = type2Parts.join(); - return new Message( - codeSpreadMapEntryElementValueTypeMismatchNullability, - problemMessage: - """Can't assign spread entry values of type '${type}' to map entry values of type '${type2}' because '${type}' is nullable and '${type2}' isn't.""" + - labeler.originMessages, - arguments: { - 'type': _type, - 'type2': _type2, - }, - ); -} - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Template< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)> - templateSpreadMapEntryElementValueTypeMismatchPartNullability = - const Template< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)>( - "SpreadMapEntryElementValueTypeMismatchPartNullability", - problemMessageTemplate: - r"""Can't assign spread entry values of type '#type' to map entry values of type '#type2' because '#type3' is nullable and '#type4' isn't.""", - withArguments: - _withArgumentsSpreadMapEntryElementValueTypeMismatchPartNullability, -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -const Code< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)> - codeSpreadMapEntryElementValueTypeMismatchPartNullability = const Code< - Message Function( - DartType _type, DartType _type2, DartType _type3, DartType _type4)>( - "SpreadMapEntryElementValueTypeMismatchPartNullability", - analyzerCodes: ["MAP_VALUE_TYPE_NOT_ASSIGNABLE"], -); - -// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. -Message _withArgumentsSpreadMapEntryElementValueTypeMismatchPartNullability( - DartType _type, DartType _type2, DartType _type3, DartType _type4) { - TypeLabeler labeler = new TypeLabeler(); - List typeParts = labeler.labelType(_type); - List type2Parts = labeler.labelType(_type2); - List type3Parts = labeler.labelType(_type3); - List type4Parts = labeler.labelType(_type4); - String type = typeParts.join(); - String type2 = type2Parts.join(); - String type3 = type3Parts.join(); - String type4 = type4Parts.join(); - return new Message( - codeSpreadMapEntryElementValueTypeMismatchPartNullability, - problemMessage: - """Can't assign spread entry values of type '${type}' to map entry values of type '${type2}' because '${type3}' is nullable and '${type4}' isn't.""" + - labeler.originMessages, - arguments: { - 'type': _type, - 'type2': _type2, - 'type3': _type3, - 'type4': _type4, - }, - ); -} - // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE. const Template templateSpreadMapEntryTypeMismatch = diff --git a/pkg/front_end/lib/src/type_inference/inference_visitor.dart b/pkg/front_end/lib/src/type_inference/inference_visitor.dart index 9f88e28ae23..b97a637ed20 100644 --- a/pkg/front_end/lib/src/type_inference/inference_visitor.dart +++ b/pkg/front_end/lib/src/type_inference/inference_visitor.dart @@ -4464,68 +4464,18 @@ class InferenceVisitorImpl extends InferenceVisitorBase Expression? keyError; Expression? valueError; if (!isAssignable(inferredKeyType, actualKeyType)) { - IsSubtypeOf subtypeCheckResult = - typeSchemaEnvironment.performNullabilityAwareSubtypeCheck( - actualKeyType, inferredKeyType); - if (subtypeCheckResult.isSubtypeWhenIgnoringNullabilities()) { - if (actualKeyType == subtypeCheckResult.subtype && - inferredKeyType == subtypeCheckResult.supertype) { - keyError = helper.buildProblem( - templateSpreadMapEntryElementKeyTypeMismatchNullability - .withArguments(actualKeyType, inferredKeyType), - entry.expression.fileOffset, - 1); - } else { - keyError = helper.buildProblem( - // ignore: lines_longer_than_80_chars - templateSpreadMapEntryElementKeyTypeMismatchPartNullability - .withArguments( - actualKeyType, - inferredKeyType, - subtypeCheckResult.subtype!, - subtypeCheckResult.supertype!), - entry.expression.fileOffset, - 1); - } - } else { - keyError = helper.buildProblem( - templateSpreadMapEntryElementKeyTypeMismatch.withArguments( - actualKeyType, inferredKeyType), - entry.expression.fileOffset, - 1); - } + keyError = helper.buildProblem( + templateSpreadMapEntryElementKeyTypeMismatch.withArguments( + actualKeyType, inferredKeyType), + entry.expression.fileOffset, + 1); } if (!isAssignable(inferredValueType, actualValueType)) { - IsSubtypeOf subtypeCheckResult = - typeSchemaEnvironment.performNullabilityAwareSubtypeCheck( - actualValueType, inferredValueType); - if (subtypeCheckResult.isSubtypeWhenIgnoringNullabilities()) { - if (actualValueType == subtypeCheckResult.subtype && - inferredValueType == subtypeCheckResult.supertype) { - valueError = helper.buildProblem( - templateSpreadMapEntryElementValueTypeMismatchNullability - .withArguments(actualValueType, inferredValueType), - entry.expression.fileOffset, - 1); - } else { - valueError = helper.buildProblem( - // ignore: lines_longer_than_80_chars - templateSpreadMapEntryElementValueTypeMismatchPartNullability - .withArguments( - actualValueType, - inferredValueType, - subtypeCheckResult.subtype!, - subtypeCheckResult.supertype!), - entry.expression.fileOffset, - 1); - } - } else { - valueError = helper.buildProblem( - templateSpreadMapEntryElementValueTypeMismatch.withArguments( - actualValueType, inferredValueType), - entry.expression.fileOffset, - 1); - } + valueError = helper.buildProblem( + templateSpreadMapEntryElementValueTypeMismatch.withArguments( + actualValueType, inferredValueType), + entry.expression.fileOffset, + 1); } if (spreadType.isPotentiallyNullable && spreadType is! DynamicType && diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml index b93a9b9a8c1..38ecb64e229 100644 --- a/pkg/front_end/messages.yaml +++ b/pkg/front_end/messages.yaml @@ -5181,24 +5181,6 @@ SpreadMapEntryElementKeyTypeMismatch: Map b = {...a}; } -SpreadMapEntryElementKeyTypeMismatchNullability: - problemMessage: "Can't assign spread entry keys of type '#type' to map entry keys of type '#type2' because '#type' is nullable and '#type2' isn't." - analyzerCode: MAP_KEY_TYPE_NOT_ASSIGNABLE - script: > - main() { - Map a = {"foo": 42, null: 87}; - Map b = {...a}; - } - -SpreadMapEntryElementKeyTypeMismatchPartNullability: - problemMessage: "Can't assign spread entry keys of type '#type' to map entry keys of type '#type2' because '#type3' is nullable and '#type4' isn't." - analyzerCode: MAP_KEY_TYPE_NOT_ASSIGNABLE - script: > - main() { - Map, int> a = , int>{["foo"]: 42, [null]: 87}; - Map, int> b = , int>{...a}; - } - SpreadMapEntryElementValueTypeMismatch: problemMessage: "Can't assign spread entry values of type '#type' to map entry values of type '#type2'." analyzerCode: MAP_VALUE_TYPE_NOT_ASSIGNABLE @@ -5208,24 +5190,6 @@ SpreadMapEntryElementValueTypeMismatch: Map b = {...a}; } -SpreadMapEntryElementValueTypeMismatchNullability: - problemMessage: "Can't assign spread entry values of type '#type' to map entry values of type '#type2' because '#type' is nullable and '#type2' isn't." - analyzerCode: MAP_VALUE_TYPE_NOT_ASSIGNABLE - script: > - main() { - Map a = {"foo": 42, "bar": null}; - Map b = {...a}; - } - -SpreadMapEntryElementValueTypeMismatchPartNullability: - problemMessage: "Can't assign spread entry values of type '#type' to map entry values of type '#type2' because '#type3' is nullable and '#type4' isn't." - analyzerCode: MAP_VALUE_TYPE_NOT_ASSIGNABLE - script: > - main() { - Map> a = >{"foo": [42], "bar": [null]}; - Map> b = >{...a}; - } - CantDisambiguateNotEnoughInformation: problemMessage: "Not enough type information to disambiguate between literal set and literal map." correctionMessage: "Try providing type arguments for the literal explicitly to disambiguate it." diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect index f418868a1d7..746aa61c039 100644 --- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect +++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect @@ -24,13 +24,13 @@ library; // [...l2]; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // {...m}; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // {...m}; // Error. @@ -103,14 +103,14 @@ library; // >[...l]; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List'. // - 'List' is from 'dart:core'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // , List>{...m}; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List'. // - 'List' is from 'dart:core'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. @@ -221,11 +221,11 @@ static method foo(self::B? x, core::List l, core::Map[invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:32:10: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. [...l2]; // Error. ^"]; - {invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A' because 'B?' is nullable and 'A' isn't. + {invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. {...m}; // Error. - ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A' because 'B?' is nullable and 'A' isn't. + ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. {...m}; // Error. @@ -303,12 +303,12 @@ static method bar(core::List x, core::List> l, co - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. >[...l]; // Error. ^"]; - , core::List>{invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List' because 'B?' is nullable and 'A' isn't. + , core::List>{invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List'. - 'List' is from 'dart:core'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. , List>{...m}; // Error. - ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List' because 'B?' is nullable and 'A' isn't. + ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List'. - 'List' is from 'dart:core'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.modular.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.modular.expect index f418868a1d7..746aa61c039 100644 --- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.modular.expect +++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.modular.expect @@ -24,13 +24,13 @@ library; // [...l2]; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // {...m}; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // {...m}; // Error. @@ -103,14 +103,14 @@ library; // >[...l]; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List'. // - 'List' is from 'dart:core'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // , List>{...m}; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List'. // - 'List' is from 'dart:core'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. @@ -221,11 +221,11 @@ static method foo(self::B? x, core::List l, core::Map[invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:32:10: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. [...l2]; // Error. ^"]; - {invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A' because 'B?' is nullable and 'A' isn't. + {invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. {...m}; // Error. - ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A' because 'B?' is nullable and 'A' isn't. + ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. {...m}; // Error. @@ -303,12 +303,12 @@ static method bar(core::List x, core::List> l, co - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. >[...l]; // Error. ^"]; - , core::List>{invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List' because 'B?' is nullable and 'A' isn't. + , core::List>{invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List'. - 'List' is from 'dart:core'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. , List>{...m}; // Error. - ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List' because 'B?' is nullable and 'A' isn't. + ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List'. - 'List' is from 'dart:core'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect index 9375d63d789..1550bbd067a 100644 --- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect @@ -24,13 +24,13 @@ library; // [...l2]; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // {...m}; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // {...m}; // Error. @@ -103,14 +103,14 @@ library; // >[...l]; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List'. // - 'List' is from 'dart:core'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // , List>{...m}; // Error. // ^ // -// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List' because 'B?' is nullable and 'A' isn't. +// pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List'. // - 'List' is from 'dart:core'. // - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. // - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. @@ -221,11 +221,11 @@ static method foo(self::B? x, core::List l, core::Map(invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:32:10: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced. [...l2]; // Error. ^"); - {invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A' because 'B?' is nullable and 'A' isn't. + {invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry keys of type 'B?' to map entry keys of type 'A'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. {...m}; // Error. - ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A' because 'B?' is nullable and 'A' isn't. + ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:13: Error: Can't assign spread entry values of type 'B?' to map entry values of type 'A'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. {...m}; // Error. @@ -314,12 +314,12 @@ static method bar(core::List x, core::List> l, co - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. >[...l]; // Error. ^"); - , core::List>{invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List' because 'B?' is nullable and 'A' isn't. + , core::List>{invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry keys of type 'List' to map entry keys of type 'List'. - 'List' is from 'dart:core'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. , List>{...m}; // Error. - ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List' because 'B?' is nullable and 'A' isn't. + ^": invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:58:25: Error: Can't assign spread entry values of type 'List' to map entry values of type 'List'. - 'List' is from 'dart:core'. - 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'. - 'A' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'.