f26c0e2056
Expressions like List<VariableDeclaration> variables = ... List<Expression> reads = variables.map((v) => VariableGet(v)).toList() don't get the intended type argument `<Expression>` through inference, but instead the type inferred from the return type of the closure, in this case `<VariableGet>`. This causes problems when used with the AST which assumes that expressions are interchangeable wherever they are used, and is likely the cause of https://github.com/flutter/flutter/issues/102077 . This CL adds an explicit type argument in these cases. TEST=general/infer_map Change-Id: I0bcae21f06c54f290dc20686b0d84c065d8ea04c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/241605 Reviewed-by: Alexander Markov <alexmarkov@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>