No huge updates. The main thing that I learned (well, more precisely
confirmed) from the prototype is that we really do needer smarter type promotion to make it easier to work with non-nullable types.
For example, the current promotion rules would handle:
test(String? string) {
if (string != null) {
print(string.length); // Know string is non-null here.
}
}
But aren't smart enough to handle:
test(String? string) {
if (string == null) return;
print(string.length); // Don't know it's non-null here.
}
We've had a proposal and a desire to improve this for quite some time, and it improves promoting in other cases not involving non-nullable types (when doing "is" checks for type tests).
So right now, I'm working on getting that landed because it's a necessary precondition for non-nullable types and also improves the language even if we don't get NNBD.
Aside from that, I'm not working on it directly. Much of the team is very focused on unifying our various parsers and analyzer's so we're trying not to also throw a bunch of language changes at the same time.
I think everyone wants to do non-nullable types, but it's a big, difficult feature and the longer we wait, the harder it gets. I hope it's not too late, but we'll have to see.