Closed
Description
I'm getting Stack Overflow error when compiling the following code:
import 'package:flutter/foundation.dart';
void main() {
print(valuesEqual(1, 2));
}
bool valuesEqual(T? v1, T? v2) {
return ((v1 == v2) || ((v1 is List) && (v2 is List) && listEquals(v1, v2)));
}
$ dart --version
Dart SDK version: 2.12.0-76.0.dev (dev) (Wed Nov 25 05:22:28 2020 -0800) on "linux_x64"
at character offset 120:
Stack Overflow
#0 isTypeParameterTypeWithoutNullabilityMarker (package:kernel/type_algebra.dart:1051:1)
#1 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:377:9)
#2 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#3 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#4 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#5 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#6 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#7 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#8 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#9 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#10 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#11 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#12 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#13 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#14 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#15 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#16 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#17 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#18 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#19 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#20 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#21 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#22 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#23 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#24 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#25 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#26 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#27 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#28 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#29 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#30 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#31 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#32 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#33 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#34 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#35 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#36 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#37 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#38 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#39 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#40 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#41 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#42 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
#43 TypeConstraintGatherer._isNullabilityAwareSubtypeMatch (package:front_end/src/fasta/type_inference/type_constraint_gatherer.dart:551:11)
...
...
#3909 TypeInferrerImpl._inferInvocation (package:front_end/src/fasta/type_inference/type_inferrer.dart:2133:29)
#3910 TypeInferrerImpl.inferInvocation (package:front_end/src/fasta/type_inference/type_inferrer.dart:1849:12)
#3911 InferenceVisitor.visitStaticInvocation (package:front_end/src/fasta/kernel/inference_visitor.dart:5296:49)
#3912 StaticInvocation.accept1 (package:kernel/ast.dart:4070:9)
#3913 TypeInferrerImpl._inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1737:27)
#3914 TypeInferrerImpl.inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1770:40)
#3915 InferenceVisitor.visitLogicalExpression (package:front_end/src/fasta/kernel/inference_visitor.dart:1782:54)
#3916 LogicalExpression.accept1 (package:kernel/ast.dart:4309:9)
#3917 TypeInferrerImpl._inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1737:27)
#3918 TypeInferrerImpl.inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1770:40)
#3919 InferenceVisitor.visitLogicalExpression (package:front_end/src/fasta/kernel/inference_visitor.dart:1782:54)
#3920 LogicalExpression.accept1 (package:kernel/ast.dart:4309:9)
#3921 TypeInferrerImpl._inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1737:27)
#3922 TypeInferrerImpl.inferExpression (package:front_end/src/fasta/type_inference/type_inferrer.dart:1770:40)
#3923 InferenceVisitor.visitReturnStatement (package:front_end/src/fasta/kernel/inference_visitor.dart:5150:61)
#3924 ReturnStatement.accept (package:kernel/ast.dart:6677:43)
#3925 InferenceVisitor._visitStatements (package:front_end/src/fasta/kernel/inference_visitor.dart:3262:6)
#3926 InferenceVisitor.visitBlock (package:front_end/src/fasta/kernel/inference_visitor.dart:288:30)
#3927 Block.accept (package:kernel/ast.dart:5939:43)
#3928 TypeInferrerImpl.inferFunctionBody (package:front_end/src/fasta/type_inference/type_inferrer.dart:3274:24)
#3929 BodyBuilder.finishFunction (package:front_end/src/fasta/kernel/body_builder.dart:991:28)
#3930 DietListener.buildFunctionBody (package:front_end/src/fasta/source/diet_listener.dart:955:14)
#3931 DietListener.endTopLevelMethod (package:front_end/src/fasta/source/diet_listener.dart:358:5)
#3932 Parser.parseTopLevelMethod (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2743:14)
#3933 Parser.parseTopLevelMemberImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2534:14)
#3934 Parser.parseTopLevelDeclarationImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:501:14)
#3935 Parser.parseUnit (package:_fe_analyzer_shared/src/parser/parser_impl.dart:356:15)
#3936 SourceLoader.buildBody (package:front_end/src/fasta/source/source_loader.dart:458:14)
#3937 _rootRunUnary (dart:async/zone.dart:1194:47)
#3938 _CustomZone.runUnary (dart:async/zone.dart:1097:19)
#3939 _FutureListener.handleValue (dart:async/future_impl.dart:150:18)
#3940 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:703:45)
#3941 Future._propagateToListeners (dart:async/future_impl.dart:732:32)
#3942 Future._completeWithValue (dart:async/future_impl.dart:536:5)
#3943 Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:574:7)
#3944 _rootRun (dart:async/zone.dart:1186:13)
#3945 _CustomZone.run (dart:async/zone.dart:1090:19)
#3946 _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1018:23)
#3947 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#3948 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#3949 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:120:13)
#3950 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:185:5)
#0 DietListener.buildFunctionBody (package:front_end/src/fasta/source/diet_listener.dart:998:7)
#1 DietListener.endTopLevelMethod (package:front_end/src/fasta/source/diet_listener.dart:358:5)
#2 Parser.parseTopLevelMethod (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2743:14)
#3 Parser.parseTopLevelMemberImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:2534:14)
#4 Parser.parseTopLevelDeclarationImpl (package:_fe_analyzer_shared/src/parser/parser_impl.dart:501:14)
#5 Parser.parseUnit (package:_fe_analyzer_shared/src/parser/parser_impl.dart:356:15)
#6 SourceLoader.buildBody (package:front_end/src/fasta/source/source_loader.dart:458:14)
<asynchronous suspension>
#7 Loader.buildBodies (package:front_end/src/fasta/loader.dart:240:9)
<asynchronous suspension>
#8 KernelTarget.buildComponent.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:392:7)
<asynchronous suspension>
#9 withCrashReporting (package:front_end/src/fasta/crash.dart:120:12)
<asynchronous suspension>
#10 generateKernelInternal.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:161:19)
<asynchronous suspension>
#11 withCrashReporting (package:front_end/src/fasta/crash.dart:120:12)
<asynchronous suspension>
#12 generateKernel.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:51:12)
<asynchronous suspension>
#13 generateKernel (package:front_end/src/kernel_generator_impl.dart:50:10)
<asynchronous suspension>
#14 kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:97:11)
<asynchronous suspension>
#15 SingleShotCompilerWrapper.compileInternal (file:///b/s/w/ir/cache/builder/src/third_party/dart/pkg/vm/bin/kernel_service.dart:377:11)
<asynchronous suspension>
#16 Compiler.compile.<anonymous closure> (file:///b/s/w/ir/cache/builder/src/third_party/dart/pkg/vm/bin/kernel_service.dart:197:45)
<asynchronous suspension>
#17 _processLoadRequest (file:///b/s/w/ir/cache/builder/src/third_party/dart/pkg/vm/bin/kernel_service.dart:843:37)
<asynchronous suspension>```