-
Notifications
You must be signed in to change notification settings - Fork 29
Description
I believe I have now completed the implementation work for the sound-flow-analysis language feature. The feature isn't enabled yet (because I still have to do more testing, write the spec, and prepare the internal google3 codebase for the new functionality). But I have an experimental CL that I've been using to see if any unexpected test failures will occur when the feature is turned on: https://dart-review.googlesource.com/c/sdk/+/420240. That CL is currently failing the following co19 tests, because they make assumptions about the behavior of flow analysis that will no longer be true when sound-flow-analysis is enabled:
TypeSystem/flow-analysis/reachability_A07_t07
TypeSystem/flow-analysis/reachability_A07_t08
TypeSystem/flow-analysis/reachability_A07_t09
TypeSystem/flow-analysis/reachability_A07_t10
I recommend adding the comment // @dart = 3.8 to these tests, so that once sound-flow-analysis is turned on, they will continue to exercise the behavior of older language versions.
(Note that in the past I've recommended using // @dart = 3.7 for a similar purpose; that was because I didn't know if I would get a chance to finish the implementation of sound-flow-analysis before Dart version 3.8 shipped. It turns out that I didn't (the branch cutoff for Dart 3.8 has now passed), so it's now safe to use // @dart = 3.8 for this purpose. It's also fine to continue using // @dart = 3.7 if you prefer.)