Index: CHANGELOG.md |
diff --git a/CHANGELOG.md b/CHANGELOG.md |
index 35da026d4e020641c30d3fbd1f76b356cd07a0c0..b51bc4069d802a51ba02c1fdc9a36cc5e9aab801 100644 |
--- a/CHANGELOG.md |
+++ b/CHANGELOG.md |
@@ -30,7 +30,7 @@ |
* Breaking change - infer generic type arguments from the |
constructor invocation arguments |
- (SDK issue [25220](https://github.com/dart-lang/sdk/issues/25220)) |
+ (SDK issue [25220](https://github.com/dart-lang/sdk/issues/25220)). |
```dart |
var map = new Map<String, String>(); |
@@ -40,7 +40,7 @@ |
``` |
* Breaking change - infer local function return type |
- (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26414)) |
+ (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26414)). |
```dart |
void main() { |
@@ -52,7 +52,7 @@ |
``` |
* Breaking change - allow type promotion from a generic type parameter |
- (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26965)) |
+ (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26965)). |
```dart |
void fn/*<T>*/(/*=T*/ object) { |
@@ -64,6 +64,28 @@ |
} |
``` |
+* Breaking change - smarter inference for Future.then |
+ (SDK issue [25944](https://github.com/dart-lang/sdk/issues/25944)). |
+ Previous workarounds that use async/await or `.then/*<Future<SomeType>>*/` |
+ should no longer be necessary. |
+ |
+ ```dart |
+ // This will now infer correctly. |
+ Future<List<int>> t2 = f.then((_) => [3]); |
+ // This infers too. |
+ Future<int> t2 = f.then((_) => new Future.value(42)); |
+ ``` |
+ |
+* Breaking change - smarter inference for async functions |
+ (SDK issue [25322](https://github.com/dart-lang/sdk/issues/25322)). |
+ |
+ ```dart |
+ void test() async { |
+ List<int> x = await [4]; // was previously inferred |
+ List<int> y = await new Future.value([4]); // now inferred too |
+ } |
+ ``` |
+ |
### Dart VM |
* The dependency on BoringSSL has been rolled forward. Going forward, builds |