Conversation
* bumps to `1.20.0-dev.5.0`. * updates `analyzer` API use.
| ..addCommand(new UpgradeCommand()); | ||
|
|
||
| return Chain.capture(() async { | ||
| return Chain.capture/*<Future<Null>>*/(() async { |
There was a problem hiding this comment.
@leafpetersen, @jmesserly: needing this seems odd. Shouldn't inferencing make it unnecessary?
There was a problem hiding this comment.
Possibly because the callback has no return, and hence we can't infer a return type for it? That would make the callback typed to return Future<dynamic>, which would essentially override the context type of Future<Null>. We've been considering ways to prefer the context type when available, but not sure what we're going to do there yet.
There was a problem hiding this comment.
Cool. Thanks. @Hixie : you OK with this as is?
|
This one needs a few fixes before it can land but wanted to get it up for folks to look at. /cc @Hixie , @leafpetersen, @jmesserly for input. |
|
In this code (the other one is analogous): Iterable<Widget/*=T*/> widgetList/*<T extends Widget>*/(Finder finder) {
TestAsyncUtils.guardSync();
return finder.evaluate().map((Element element) => element.widget);
}I believe that return finder.evaluate().map/*<T>*/((Element element) => element.widget);or put an explicit check: return finder.evaluate().map((Element element) => element.widget as dynamic /*=T*/);or put an implicit check, but since Dart doesn't (yet) have a way to write return types on lambdas, you need to name the function to do that: /*=T*/ reader(Element element) => element.widget
return finder.evaluate().map(reader); |
|
Thanks @leafpetersen!
Nope. That's right! I'm leaning towards your first suggestion of explicit typing and will update the PR. Cheers! |
|
Build is clean now. @Hixie PTAL at the code contortions and let me know what you think... |
|
LGTM. In general I'd like the code to not rely on inference at all. The idea is to use inference to verify that the code is correct. |
flutter/engine@af855e0...91ff524 git log af855e0..91ff524 --date=short --no-merges --format='%%ad %%ae %%s' 2018-07-31 37626415&flutter#43;[email protected] Roll src/third_party/skia 74c6ed3d1f17..1935aa3d27cd (11 commits) (flutter#5911) 2018-07-31 [email protected] Deprecate -[FlutterDartProject initFromDefaultSourceForConfiguration] (flutter#18886) (flutter#5858) 2018-07-31 37626415&flutter#43;[email protected] Roll src/third_party/skia 0bf5408286ea..74c6ed3d1f17 (1 commits) (flutter#5910) 2018-07-30 37626415&flutter#43;[email protected] Roll src/third_party/skia 946a162a5239..0bf5408286ea (1 commits) (flutter#5909) 2018-07-30 [email protected] Add word movement granularities to android (flutter#5902) 2018-07-30 37626415&flutter#43;[email protected] Roll src/third_party/skia f7dcd76c552a..946a162a5239 (3 commits) (flutter#5908) 2018-07-30 [email protected] Remove the &flutter#34;VSYNC&flutter#34; trace event on Fuchsia (flutter#5907) 2018-07-30 37626415&flutter#43;[email protected] Roll src/third_party/skia 62501c12c83e..f7dcd76c552a (5 commits) (flutter#5906) 2018-07-30 [email protected] Replace travis with cirrus (flutter#5899) 2018-07-30 [email protected] Use container and GKE to accelerate build (flutter#5897) 2018-07-30 [email protected] Add docker container generation scripts (flutter#5898) 2018-07-30 37626415&flutter#43;[email protected] Roll src/third_party/skia c06b8a4e0ca3..62501c12c83e (11 commits) (flutter#5905) 2018-07-30 [email protected] Clear the EGL context only if our context is currently active (flutter#5895) 2018-07-30 [email protected] Return proper JSON-RPC error responses from service protocol failures (flutter#5889) 2018-07-30 37626415&flutter#43;[email protected] Roll src/third_party/skia 227424b57d28..c06b8a4e0ca3 (22 commits) (flutter#5904) The AutoRoll server is located here: http://localhost:8000 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC&flutter#39;d on the roll, and stop the roller if necessary.
1.20.0-dev.5.0.analyzerAPI use.