dart-sdk/tests/language/records
Paul Berry c007d3bc0c Front end: type infer all record literal fields before hoisting.
Previously, if a record literal had named fields, type inference of
the literal fields would happen as part of the process of
hoisting. This was a problem because the hoisting process requires
visiting the fields in reverse order, so as a result, the order in
which subexpressions were type inferred was the reverse of the order
in which they would be executed, leading to unsound type promotion
behavior.

Fixes #55914.

Bug: https://github.com/dart-lang/sdk/issues/55914
Change-Id: I2d8930e0e1d7579d065bfb850aa7472d28a8012c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/369761
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2024-06-06 19:15:57 +00:00
..
simple [vm] Remove --[no-]lazy-dispatchers flag. 2024-06-06 10:56:12 +00:00
assign_to_promoted_record_test.dart
const_keys_test.dart
regress52593_test.dart
regress54375_test.dart
type_inference_error_test.dart
type_inference_field_name_mismatch_test.dart
type_inference_named_field_order_test.dart Front end: type infer all record literal fields before hoisting. 2024-06-06 19:15:57 +00:00
type_inference_test.dart