Skip to content

Patterns, parsing record type annotations in pattern #50929

Closed
@scheglov

Description

@scheglov
void f() {
  var ((int, {int a}) b) = (0, a: 1);
}

This crashes

  'package:analyzer/src/fasta/ast_builder.dart': Failed assertion: line 4619 pos 12: 'optional(':', colon)': is not true.
  #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
  #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
  #2      AstBuilder.handleMapPatternEntry (package:analyzer/src/fasta/ast_builder.dart:4619:12)
  #3      Parser.parseMapPatternSuffix (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9648:18)
  #4      Parser.parsePrimaryPattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9367:17)
  #5      Parser.parsePattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9277:13)
  #6      Parser.parseParenthesizedPatternOrRecordPattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9727:15)
  #7      Parser.parsePrimaryPattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9394:15)
  #8      Parser.parsePattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9277:13)
  #9      Parser.parseParenthesizedPatternOrRecordPattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9727:15)
  #10     Parser.parsePrimaryPattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9394:15)
  #11     Parser.parsePattern (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9277:13)
  #12     Parser.parsePatternVariableDeclarationStatement (package:_fe_analyzer_shared/src/parser/parser_impl.dart:9897:19)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions