caba043b4c
When these tests were written (https://dart-review.googlesource.com/c/sdk/+/178880), Dart did not support field promotion. I was getting ready to add "why not promoted" logic to flow analysis so that if a user tried and failed to promote a field, and received an assignability error as a result, they would receive a helpful error message explaining that field promotion was not supported. In order to generate this error message, flow analysis would have to start keeping track of some *counterfactual* promoted types, indicating what the type of certain expressions *would have been* if field promotion had been supported. It was important to make sure that these counterfactual promoted types were only used for error message generation, and didn't actually change Dart semantics. So I wrote these tests to help lock down the existing (non-promotion) behavior. When field promotion was actually implemented in Dart 3.2, these tests should have been given `@dart=3.1` annotations, since their purpose was to validate the correct behavior of the implementation in situations where field promotion *wasn't* enabled. I should have been prompted to do this by a test failure, because when I enabled field promotion by default in Dart 3.2, the behavior of the tests should have changed. However, because of https://github.com/dart-lang/language/issues/4127, the behavior didn't change, so I didn't notice that these tests needed updating. Now, I'm getting ready to fix https://github.com/dart-lang/language/issues/4127, so in order to prepare for that, I need to give these tests the proper `@dart=3.1` annotations. Bug: https://github.com/dart-lang/language/issues/4127 Change-Id: I59ad1eef7b01ccedcc8fb99e070a05273ac365e6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/389781 Reviewed-by: Kallen Tu <kallentu@google.com> Commit-Queue: Paul Berry <paulberry@google.com>