Skip to content

Generic function missing generic type causes a Dart Analyzer Error #30147

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
rxlabz opened this issue Jul 12, 2017 · 1 comment
Closed

Generic function missing generic type causes a Dart Analyzer Error #30147

rxlabz opened this issue Jul 12, 2017 · 1 comment
Labels
legacy-area-analyzer Use area-devexp instead. P1 A high priority bug; for example, a single project is unusable or has many test failures type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)

Comments

@rxlabz
Copy link

rxlabz commented Jul 12, 2017

I have a function declaring 2 generics types :

void sortOrderables<T extends Orderable<U>, U>(/* ... */ ) {/* ... */ }

The analyzer get completely lost, "crashes" and restart, when I omit to define the second type in the call

sortOrderables<Orderable<T>>(/*...*/);

instead of

sortOrderables<Orderable<T>, T>(/*...*/);

Analyzer Feedback from IntelliJ

Version information

  • IDEA 171.4694.9
  • 1.25.0-dev.4.0
  • IU-171.4694.9, JRE 1.8.0_112-release-736-b21x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.12.5 unknown, screens 2048x1152, 2560x1440

Exception

Please append the contents of:
file:///private/var/folders/d1/0vs5pl5122jd_jjksjvvrpvr0000gn/T/report1.txt

Dart analysis server, SDK version 1.25.0-dev.4.0, server version 1.18.1, error: Analysis failed: /Users/rxlabz/dev/labz/flutter/noob-labz/orderable_stack/lib/src/drag_reorder_screens.dart context: exception_20170712_200301_725
Invalid argument(s): argumentTypes.length (1) != parameterTypes.length (2)
#0      InterfaceTypeImpl.substitute2 (package:analyzer/src/dart/element/type.dart:2022)
#1      ErrorVerifier._checkTypeArguments (package:analyzer/src/generated/error_verifier.dart:6261)
#2      ErrorVerifier.visitMethodInvocation (package:analyzer/src/generated/error_verifier.dart:1002)
#3      MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7598)
#4      ExpressionStatementImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4228)
#5      RecursiveAstVisitor.visitExpressionStatement (package:analyzer/dart/ast/visitor.dart:815)
#6      ExpressionStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:4224)
#7      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7990)
#8      BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1346)
#9      RecursiveAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:647)
#10     ErrorVerifier.visitBlock (package:analyzer/src/generated/error_verifier.dart:397)
#11     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1342)
#12     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1291)
#13     RecursiveAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:653)
#14     ErrorVerifier.visitBlockFunctionBody (package:analyzer/src/generated/error_verifier.dart:416)
#15     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1287)
#16     FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5319)
#17     RecursiveAstVisitor.visitFunctionExpression (package:analyzer/dart/ast/visitor.dart:869)
#18     ErrorVerifier.visitFunctionExpression (package:analyzer/src/generated/error_verifier.dart:775)
#19     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5313)
#20     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7990)
#21     ArgumentListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:428)
#22     RecursiveAstVisitor.visitArgumentList (package:analyzer/dart/ast/visitor.dart:605)
#23     ErrorVerifier.visitArgumentList (package:analyzer/src/generated/error_verifier.dart:330)
#24     ArgumentListImpl.accept (package:analyzer/src/dart/ast/ast.dart:424)
#25     MethodInvocationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7605)
#26     RecursiveAstVisitor.visitMethodInvocation (package:analyzer/dart/ast/visitor.dart:1013)
#27     ErrorVerifier.visitMethodInvocation (package:analyzer/src/generated/error_verifier.dart:1004)
#28     MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7598)
#29     ExpressionStatementImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4228)
#30     RecursiveAstVisitor.visitExpressionStatement (package:analyzer/dart/ast/visitor.dart:815)
#31     ExpressionStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:4224)
#32     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7990)
#33     BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1346)
#34     RecursiveAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:647)
#35     ErrorVerifier.visitBlock (package:analyzer/src/generated/error_verifier.dart:397)
#36     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1342)
#37     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1291)
#38     RecursiveAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:653)
#39     ErrorVerifier.visitBlockFunctionBody (package:analyzer/src/generated/error_verifier.dart:416)
#40     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1287)
#41     MethodDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7486)
#42     RecursiveAstVisitor.visitMethodDeclaration (package:analyzer/dart/ast/visitor.dart:1007)
#43     ErrorVerifier.visitMethodDeclaration (package:analyzer/src/generated/error_verifier.dart:984)
#44     MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7477)
#45     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7990)
#46     ClassDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1974)
#47     RecursiveAstVisitor.visitClassDeclaration (package:analyzer/dart/ast/visitor.dart:683)
#48     ErrorVerifier.visitClassDeclaration (package:analyzer/src/generated/error_verifier.dart:481)
#49     ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1906)
#50     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7990)
#51     CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2502)
#52     RecursiveAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:707)
#53     ErrorVerifier.visitCompilationUnit (package:analyzer/src/generated/error_verifier.dart:540)
#54     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2495)
#55     LibraryAnalyzer._computeVerifyErrors (package:analyzer/src/dart/analysis/library_analyzer.dart:303)
#56     LibraryAnalyzer._analyze.<anonymous closure>.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:103)
#57     _HashVMBase&MapMixin&&_LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:356)
#58     LibraryAnalyzer._analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:102)
#59     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:200)
#60     LibraryAnalyzer._analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:101)
#61     LibraryAnalyzer.analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:64)
#62     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:200)
#63     LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:63)
#64     AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1055)
#65     PerformanceLog.run (package:front_end/src/base/performace_logger.dart:34)
#66     AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1043)
#67     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:900)
<asynchronous suspension>
#68     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:1595)
<asynchronous suspension>
#69     AnalysisDriverScheduler.start (package:analyzer/src/dart/analysis/driver.dart:1538)
#70     new AnalysisServer (package:analysis_server/src/analysis_server.dart:386)
#71     SocketServer.createAnalysisServer (package:analysis_server/src/socket_server.dart:86)
#72     StdioAnalysisServer.serveStdio (package:analysis_server/src/server/stdio_server.dart:37)
#73     Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:446)
#74     _rootRun (dart:async/zone.dart:1120)
#75     _CustomZone.run (dart:async/zone.dart:1001)
#76     runZoned (dart:async/zone.dart:1467)
#77     Driver._captureExceptions (package:analysis_server/src/server/driver.dart:485)
#78     Driver.start (package:analysis_server/src/server/driver.dart:445)
#79     main (file:///b/build/slave/dart-sdk-mac-dev/build/sdk/pkg/analysis_server/bin/server.dart:12)
#80     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#81     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)

@rxlabz rxlabz changed the title Dart Analyzer Error - Analyzer Feedback from IntelliJ Generic function missing generic type causes a Dart Analyzer Error Jul 12, 2017
@bwilkerson bwilkerson added legacy-area-analyzer Use area-devexp instead. P1 A high priority bug; for example, a single project is unusable or has many test failures type-bug Incorrect behavior (everything from a crash to more subtle misbehavior) labels Jul 19, 2017
@whesse whesse closed this as completed in edd366b Dec 4, 2017
@MichaelRFairhurst
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
legacy-area-analyzer Use area-devexp instead. P1 A high priority bug; for example, a single project is unusable or has many test failures type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Projects
None yet
Development

No branches or pull requests

3 participants