Skip to content

Some additional tests need version comments because they depend on unsound flow analysis #3143

@stereotype441

Description

@stereotype441

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.)

Metadata

Metadata

Assignees

Labels

bad-testReport tests in need of updates. When closed, the tests should be considered good

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions