d509ddb3fa
When the computation passed to Future.sync returns a Future of the correct type, then it's returned directly instead of wrapping it again. (Until strong mode, we have an extra case for when it returns a Future of an incorrect type, but that will eventually be removed). This should improve the performance of Future.sync a bit. Also adds missing Zone intercept for when the Future.sync computation throws. Updates documentation for Future.doWhile. Fixes #29202 BUG= http://dartbug.com/29202 R=floitsch@google.com Review-Url: https://codereview.chromium.org/2790663003 .
Run Existing Tests ================== See the output of ../tools/test.py --help for how to run tests. See also https://code.google.com/p/dart/wiki/Building#Testing for detailed examples. Create New Tests ================ See comments above factory StandardTestSuite.forDirectory in ../tools/testing/dart/test_suite.dart for the default test directory layout. By default test-file names must end in "_test.dart", but some test suites, such as ./co19, subclass StandardTestSuite and override this default. See comments at the beginning of ../tools/testing/dart/multitest.dart for how to create tests that pass by failing with a known error. For example, ... int x = "not an int"; /// 01: static type warning ... as part of a test will only pass the "--compiler dart2analyzer" test if the assignment generates a static type warning.