Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Records] Add more tests for dynamic access to record fields #1505

Closed
alexmarkov opened this issue Oct 17, 2022 · 0 comments
Closed

[Records] Add more tests for dynamic access to record fields #1505

alexmarkov opened this issue Oct 17, 2022 · 0 comments
Assignees
Labels
type-enhancement A request for a change that isn't a bug

Comments

@alexmarkov
Copy link

While implementing dynamic access to record fields (each field is exposed as a getter, and all getters can be called from dynamic), I noticed that there are no corresponding co19 tests for that. However this is a non-trivial part of the records implementation. In general, we should try to ensure that dynamic semantics at run time matches semantics of corresponding statically typed code (except extensions and similar static features).

So consider adding tests for accessing record fields dynamically, including function calls via field (dynamic x = (foo: myFunc); x.foo(42); should call myFunc(42)).

Example of such test in Dart SDK: https://github.com/dart-lang/sdk/blob/main/tests/language/records/simple/dynamic_field_access_test.dart.

@sgrekhov sgrekhov self-assigned this Oct 18, 2022
sgrekhov added a commit to sgrekhov/co19 that referenced this issue Oct 18, 2022
sgrekhov added a commit to sgrekhov/co19 that referenced this issue Oct 19, 2022
@sgrekhov sgrekhov reopened this Oct 19, 2022
@sgrekhov sgrekhov added the type-enhancement A request for a change that isn't a bug label Oct 21, 2022
copybara-service bot pushed a commit to dart-lang/sdk that referenced this issue Oct 24, 2022
2022-10-21 sgrekhov22@gmail.com Fixes dart-lang/co19#1511. [Records] Remove `records` experimental flag from legacy libraries (dart-lang/co19#1512)
2022-10-21 sgrekhov22@gmail.com Fixes dart-lang/co19#1477. [Records] Type inference tests updated (dart-lang/co19#1500)
2022-10-21 sgrekhov22@gmail.com Fixes dart-lang/co19#1505. [Records] Added tests for dynamic access to record fields (dart-lang/co19#1507)
2022-10-19 sgrekhov22@gmail.com dart-lang/co19#1399. [Records] Interaction with legacy tests added (dart-lang/co19#1502)
2022-10-19 sgrekhov22@gmail.com dart-lang/co19#195. Typos fixed (dart-lang/co19#1508)
2022-10-19 sgrekhov22@gmail.com dart-lang/co19#993. [ffi] nullptr test added (dart-lang/co19#1506)
2022-10-14 asashour@yahoo.com Fix typos (dart-lang/co19#1504)
2022-10-12 sgrekhov22@gmail.com Fixes dart-lang/co19#1427. Expando tests added (dart-lang/co19#1479)
2022-10-12 sgrekhov22@gmail.com dart-lang/co19#1399. [Records] More members tests added (dart-lang/co19#1501)
2022-10-12 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 3.0.2 to 3.1.0 (dart-lang/co19#1499)
2022-10-11 sgrekhov22@gmail.com dart-lang/co19#1400. [Views] Syntax tests added (dart-lang/co19#1498)
2022-10-07 sgrekhov22@gmail.com Fixes dart-lang/co19#1491. Use correct record type in 'as' expression (dart-lang/co19#1497)
2022-10-07 sgrekhov22@gmail.com Fixes dart-lang/co19#1489. Don't use '?' in expressions (dart-lang/co19#1495)
2022-10-07 sgrekhov22@gmail.com Fixes dart-lang/co19#1488. Use correct record types (dart-lang/co19#1493)
2022-10-07 sgrekhov22@gmail.com Fixes dart-lang/co19#1490. Missing parameters names added (dart-lang/co19#1496)

Change-Id: I6d26701ee14a0c7820e3c3094d7d850c0f914028
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/265087
Reviewed-by: Alexander Thomas <athom@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests

2 participants