Find a file
Paul Berry 45b02f8216 Use the new spec for Future flattening for type inference
Change Fasta type inference and Kernel type checking to use the new
definition for Future flattening, which is really unwrapping (peeling
off one layer of Future or FutureOr).  Use this for inferring types of
`await` expressions and return types from `async` functions.

Ensure that we are using the same notion of flattening for inference
and checking.  (Maybe it was a red flag that we weren't.)

This fixes await_test so that it produces a runtime error rather than
a compile time error - see #31541.

A similar change will need to be made to the analyzer - see #31887.

Change-Id: I7d936e9788969a48fdc216628eaa793389fb5e30
Reviewed-on: https://dart-review.googlesource.com/34504
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-01-15 07:09:36 +00:00
build [infra] Roll clang toolchain forward 2018-01-10 21:23:39 +00:00
client Remove old annotated_steps buildbot scripts and dispatcher 2017-05-23 16:17:02 +02:00
docs Adding generic methods to the language specification. 2018-01-11 16:15:58 +00:00
pkg Use the new spec for Future flattening for type inference 2018-01-15 07:09:36 +00:00
runtime [VM runtime] Implement support for _extractTypeArguments in the VM (fixes #31805). 2018-01-12 21:32:20 +00:00
samples [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration. 2017-12-12 12:19:10 +00:00
samples-dev Spelling fixes e to i. 2017-06-24 13:41:39 +02:00
sdk Use the new spec for Future flattening for type inference 2018-01-15 07:09:36 +00:00
tests Use the new spec for Future flattening for type inference 2018-01-15 07:09:36 +00:00
third_party [infra] Use Clang for ia32 and arm64. Use the dl'd sysroots by default. 2017-12-02 06:19:33 +00:00
tools enable corelib_2 and lib_2 tests for DDK on the bots 2018-01-13 01:21:10 +00:00
utils Link kernel service dill with the command line dart executable. 2018-01-12 20:40:41 +00:00
.clang-format VM: Re-format to use at most one newline between functions 2017-07-13 08:08:37 -07:00
.gitattributes Migrate the lingering language_strong tests over to language_2. 2017-10-27 23:44:08 +00:00
.gitignore Git ignore vscode project files. 2017-03-23 15:26:06 -07:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap Add .mailmap file. 2015-05-18 19:33:16 +02:00
.packages Bring dart_style 1.0.9 into the repo and update its dependencies. 2018-01-05 22:36:08 +00:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn Link kernel service dill with the command line dart executable. 2018-01-12 20:40:41 +00:00
CHANGELOG.md Bring in the latest pub 2018-01-12 22:47:50 +00:00
codereview.settings Update codereview.settings to Gerrit (dart-review.googlesource.com) 2017-09-04 12:52:09 +00:00
DEPS Bring in the latest pub 2018-01-12 22:47:50 +00:00
LICENSE Remove the Dromaeo and TodoMVC samples. 2016-01-11 13:09:26 -08:00
PATENTS Move LICENSE, AUTHORS, PATENTS into the dart directory. 2014-02-10 06:48:47 +00:00
PRESUBMIT.py [infra] Add and check 'allowed_hosts' in DEPS file 2018-01-08 18:31:24 +00:00
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md [gardening] Whitespace change to trigger bots. 2017-04-28 10:08:58 -07:00
WATCHLISTS Creates a watchlist for sdk/lib/_http and adds me to it 2018-01-02 18:39:53 +00:00

Dart

Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.

Using Dart

Visit the dartlang.org to learn more about the language, tools, getting started, and more.

Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.

Building Dart

If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.

There are more documents on our wiki.

Contributing to Dart

The easiest way to contribute to Dart is to file issues.

You can also contribute patches, as described in Contributing.

License & patents

See LICENSE and PATENTS.