From 9820535bc17ac92bbb80bdf98274efd1a38cdaf7 Mon Sep 17 00:00:00 2001 From: Erik Ernst Date: Thu, 18 May 2017 17:12:45 +0200 Subject: [PATCH] Announced #28939 (`void f() => e` allows an e of any type) in changelog Addresses sdk issue #29646. R=floitsch@google.com Review-Url: https://codereview.chromium.org/2887253003 . --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8680e1bbaf..ef746020333 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ * During a dynamic type check, `void` is not required to be `null` anymore. In practice, this makes overriding `void` functions with non-`void` functions safer. +* During static analysis, a function declared using `=>` with return type `void` + now allows the returned expression to have any type. For example, assuming the + declaration `int x;`, it is now type correct to have `void f() => ++x;`. #### Strong Mode @@ -17,6 +20,9 @@ Packages that implement `Future` must either type the `onValue` parameter to `.then` as returning `FutureOr`, or else must leave the type of the parameter entirely to allow inference to fill in the type. +* The following is also a change in strong mode: During static analysis, a + function declared using `=>` with return type `void` now allows the returned + expression to have any type. ### Core library changes