Skip to content

Compiler crash: Iterables do not have same length. #48148

@modulovalue

Description

@modulovalue
Crash when compiling ... .
at character offset null:
Invalid argument(s): Iterables do not have same length.
#0      MapBase._fillMapWithIterables (dart:collection/maps.dart:92:7)
#1      new LinkedHashMap.fromIterables (dart:collection/linked_hash_map.dart:126:13)
#2      findTypeArgumentIssues (package:kernel/src/bounds_checks.dart:385:11)
#3      SourceLibraryBuilder.checkBoundsInType (package:front_end/src/fasta/source/source_library_builder.dart:3987:38)
#4      BodyBuilder._unaliasTypeAliasedConstructorInvocations (package:front_end/src/fasta/kernel/body_builder.dart:1389:22)
#5      BodyBuilder.performBacklogComputations (package:front_end/src/fasta/kernel/body_builder.dart:889:5)
#6      BodyBuilder.finishFields (package:front_end/src/fasta/kernel/body_builder.dart:877:5)
#7      DietListener._parseFields (package:front_end/src/fasta/source/diet_listener.dart:1010:17)
#8      DietListener.buildFields (package:front_end/src/fasta/source/diet_listener.dart:832:5)
#9      DietListener.endTopLevelFields (package:front_end/src/fasta/source/diet_listener.dart:376:5)
#10     Parser.parseFields (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2949:18)
#11     Parser.parseTopLevelMemberImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2839:12)
#12     Parser.parseTopLevelDeclarationImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:509:16)
#13     Parser.parseUnit (package:_fe_analyzer_shared/src/parser/parser_impl.dart:377:15)
#14     SourceLoader.buildBody (package:front_end/src/fasta/source/source_loader.dart:826:14)
<asynchronous suspension>
#15     SourceLoader.buildBodies (package:front_end/src/fasta/source/source_loader.dart:388:9)
<asynchronous suspension>
#16     KernelTarget.buildComponent.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:548:7)
<asynchronous suspension>
#17     withCrashReporting (package:front_end/src/fasta/crash.dart:122:12)
<asynchronous suspension>
#18     generateKernelInternal.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:162:19)
<asynchronous suspension>
#19     withCrashReporting (package:front_end/src/fasta/crash.dart:122:12)
<asynchronous suspension>
#20     generateKernel.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:50:12)
<asynchronous suspension>
#21     generateKernel (package:front_end/src/kernel_generator_impl.dart:49:10)
<asynchronous suspension>
#22     kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:97:11)
<asynchronous suspension>
#23     SingleShotCompilerWrapper.compileInternal (file:///opt/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:398:11)
<asynchronous suspension>
#24     Compiler.compile.<anonymous closure> (file:///opt/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:216:45)
<asynchronous suspension>
#25     _processLoadRequest (file:///opt/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:886:37)
<asynchronous suspension>


#0      MapBase._fillMapWithIterables (dart:collection/maps.dart:92:7)
#1      new LinkedHashMap.fromIterables (dart:collection/linked_hash_map.dart:126:13)
#2      findTypeArgumentIssues (package:kernel/src/bounds_checks.dart:385:11)
#3      SourceLibraryBuilder.checkBoundsInType (package:front_end/src/fasta/source/source_library_builder.dart:3987:38)
#4      BodyBuilder._unaliasTypeAliasedConstructorInvocations (package:front_end/src/fasta/kernel/body_builder.dart:1389:22)
#5      BodyBuilder.performBacklogComputations (package:front_end/src/fasta/kernel/body_builder.dart:889:5)
#6      BodyBuilder.finishFields (package:front_end/src/fasta/kernel/body_builder.dart:877:5)
#7      DietListener._parseFields (package:front_end/src/fasta/source/diet_listener.dart:1010:17)
#8      DietListener.buildFields (package:front_end/src/fasta/source/diet_listener.dart:832:5)
#9      DietListener.endTopLevelFields (package:front_end/src/fasta/source/diet_listener.dart:376:5)
#10     Parser.parseFields (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2949:18)
#11     Parser.parseTopLevelMemberImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2839:12)
#12     Parser.parseTopLevelDeclarationImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:509:16)
#13     Parser.parseUnit (package:_fe_analyzer_shared/src/parser/parser_impl.dart:377:15)
#14     SourceLoader.buildBody (package:front_end/src/fasta/source/source_loader.dart:826:14)
<asynchronous suspension>
#15     SourceLoader.buildBodies (package:front_end/src/fasta/source/source_loader.dart:388:9)
<asynchronous suspension>
#16     KernelTarget.buildComponent.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:548:7)
<asynchronous suspension>
#17     withCrashReporting (package:front_end/src/fasta/crash.dart:122:12)
<asynchronous suspension>
#18     generateKernelInternal.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:162:19)
<asynchronous suspension>
#19     withCrashReporting (package:front_end/src/fasta/crash.dart:122:12)
<asynchronous suspension>
#20     generateKernel.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:50:12)
<asynchronous suspension>
#21     generateKernel (package:front_end/src/kernel_generator_impl.dart:49:10)
<asynchronous suspension>
#22     kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:97:11)
<asynchronous suspension>
#23     SingleShotCompilerWrapper.compileInternal (file:///opt/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:398:11)
<asynchronous suspension>
#24     Compiler.compile.<anonymous closure> (file:///opt/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:216:45)
<asynchronous suspension>
#25     _processLoadRequest (file:///opt/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:886:37)
<asynchronous suspension>
const HInvalid invalidExample = HInvalidComposite(
  [
    HInvalidLeaf(0),
    HInvalidChild(
      HInvalidLeaf(0),
    ),
    HInvalidError("error message"),
  ],
);

typedef HInvalid = HBase<HKindInvalid>;
typedef HInvalidComposite<CHILD extends HInvalid> = HBaseComposite<HKindInvalid, CHILD>;
typedef HInvalidChild<CHILD extends HInvalid> = HBaseChild<HKindInvalid, CHILD>;
typedef HInvalidLeaf = HBaseLeaf<HKindInvalid>;
typedef HInvalidError = HBaseError<HKindInvalid>;

abstract class HBase<HKT extends HKind> implements Kind<HKT> {}

class HBaseComposite<HKT extends HKindValid, CHILD extends HBase<HKT>> implements HBase<HKT> {
  final List<CHILD> children;

  const HBaseComposite(
    final this.children,
  );
}

class HBaseChild<HKT extends HKindValid, CHILD extends HBase<HKT>> implements HBase<HKT> {
  final CHILD child;

  const HBaseChild(
    final this.child,
  );
}

class HBaseLeaf<HKT extends HKindValid> implements HBase<HKT> {
  final int data;

  const HBaseLeaf(
    final this.data,
  );
}

class HBaseError<HKT extends HKindInvalid> implements HBase<HKT> {
  final String errorMessage;

  const HBaseError(
    final this.errorMessage,
  );
}

abstract class Kind<HKT extends HKind> {}

abstract class HKind {}

abstract class HKindValid implements HKind {}

abstract class HKindInvalid implements HKindValid {}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions