-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Clarify meaning of a[i] += 1 #865
Labels
area-language
Dart language related items (some items might be better tracked at github.com/dart-lang/language).
Comments
Clarified. Added Done label. |
rakudrama
added
Type-Defect
area-language
Dart language related items (some items might be better tracked at github.com/dart-lang/language).
labels
Jan 4, 2012
copybara-service bot
pushed a commit
that referenced
this issue
Feb 13, 2023
…, http_parser, pub_semver, shelf, term_glyph, test, typed_data, webdev Revisions updated by `dart tools/rev_sdk_deps.dart`. args (https://github.com/dart-lang/args/compare/bd3ac85..b08471e): b08471e 2023-02-09 Sigurd Meldgaard Suggest command based on aliases (#235) bazel_worker (https://github.com/dart-lang/bazel_worker/compare/1124692..53871c5): 53871c5 2023-02-09 Kevin Moore Migrate to dart_flutter_team_lints, cleanup (#69) benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/b1efcf7..a6a0891): a6a0891 2023-02-09 Kevin Moore Require Dart 2.19, update lints to dart_flutter_team_lints (#84) dartdoc (https://github.com/dart-lang/dartdoc/compare/494a6be..3931595): 39315954 2023-02-13 Devon Carew enable additional lints (#3336) a52639e7 2023-02-10 Sam Rawlins Use markdown 7 (#3332) glob (https://github.com/dart-lang/glob/compare/a828420..f378dc8): f378dc8 2023-02-13 Kevin Moore Update to dart_flutter_team_lints, also cleaned up markdown (#71) http (https://github.com/dart-lang/http/compare/8386923..f4b365e): f4b365e 2023-02-07 Sigurd Meldgaard Remove dependency on package:path (#865) http_parser (https://github.com/dart-lang/http_parser/compare/1c0c17a..b3b283b): b3b283b 2023-02-08 Kevin Moore Bump min SDK to 2.17 (#69) pub_semver (https://github.com/dart-lang/pub_semver/compare/e9c600c..c0e6ea7): c0e6ea7 2023-02-12 Devon Carew Update CHANGELOG.md (#81) 0d62000 2023-02-12 Kevin Moore Fix new type error, use dart_flutter_team_lints (#80) shelf (https://github.com/dart-lang/shelf/compare/9d1fb8a..707c8b2): 707c8b2 2023-02-07 Kevin Moore move to pkg:dart_flutter_team_lints (#330) term_glyph (https://github.com/dart-lang/term_glyph/compare/520784d..d275a8f): d275a8f 2023-02-12 Kevin Moore Fix CI, update lints (#34) test (https://github.com/dart-lang/test/compare/da7c667..b5e70db): b5e70db5 2023-02-10 Jacob MacDonald Add notes about versioning and publishing to CONTRIBUTING.md (#1929) 2773daa6 2023-02-09 Jacob MacDonald update changelog version in test to use ## (#1926) 9e3072e1 2023-02-09 Danny Tuppeny Handle absolute paths on Windows (#1923) 07380027 2023-02-09 Nicholas Shahan Fix typo in migration doc (#1924) f49fc16a 2023-02-09 Kevin Moore Add auto-publish configuration (#1922) 5bf28959 2023-02-08 Nate Bosch Add link to file issue on README (#1921) ef81f471 2023-02-08 Nate Bosch Fix directory name for issue templates (#1920) f3bfda9d 2023-02-08 Nate Bosch Add issue templates (#1919) a80f4fd0 2023-02-08 Devon Carew Refactor top level and package README files (#1918) 0f4558fe 2023-02-07 Nate Bosch Prepare to publish test_core and test (#1917) 39f498c8 2023-02-06 Nate Bosch Minor readme improvements (#1913) 2cb07a3f 2023-02-06 Nate Bosch Rename matches to matchesPattern, accept Pattern (#1907) ba6fb1c9 2023-02-06 Jacob MacDonald Support running tests by absolute file: uri (#1893) ffeaec66 2023-02-06 Nate Bosch Take Condition for async nesting expectations (#1896) cdd8c395 2023-02-06 Daniel Chevalier update vm_service to support 11.0.0 (#1910) f2d97bf2 2023-02-06 Nate Bosch Expand the doc comment for Context (#1902) typed_data (https://github.com/dart-lang/typed_data/compare/6fbbd95..f858046): f858046 2023-02-12 Kevin Moore fix ci, update analysis options (#61) webdev (https://github.com/dart-lang/webdev/compare/6255c85..0bae2be): 0bae2be 2023-02-10 Elliott Brooks (she/her) Fix lifeline connection logic (#1952) 4a41cf9 2023-02-10 Anna Gringauze Support records (#1919) d6229e3 2023-02-09 Anna Gringauze Fix failure on getting a list with out of range offset (#1947) f1b15e8 2023-02-09 Anna Gringauze Fix incorrect list element count (#1944) fff4865 2023-02-09 Elliott Brooks (she/her) Add missing IDs to inspector panel (#1946) 47287e3 2023-02-08 Elliott Brooks (she/her) [MV3 Debug Extension] Extension sets the `ide` query parameter for the DevTools URI (#1943) 1136d51 2023-02-08 Elliott Brooks (she/her) Catch exceptions in unawaited `Futures` (#1938) 2cad786 2023-02-07 Anna Gringauze Cleanup getObject logic for handling offsets and counts (#1936) b399e94 2023-02-06 Elliott Brooks (she/her) Pull out `dart:io`-dependent functions from`/src/utilities/shared.dart` into `/src/utilities/server.dart` (#1942) Change-Id: I64bdc5485665ca4c13a331ae7a6c77b1cd3208d8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282802 Commit-Queue: Devon Carew <[email protected]> Auto-Submit: Devon Carew <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]>
This issue was closed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area-language
Dart language related items (some items might be better tracked at github.com/dart-lang/language).
The language spec 0.06 grammar permits
a[i] += 1;
but section 10.16.1 does not describe a behaviour.
I would like to see the expression be legal, otherwise many numeric codes will look strained in Dart.
I suggest the meaning by analogy with e1.v op= e2
e1[e2] op= e3
-->
((a, i) => a[i] = (a[i] op e3))(e1, e2) // a, i fresh variables.
Footnote:
A consequence of permitting a[i] += 1 is that a[i]++ is now defined.
To prevent the following from being strange, I suggest that the value of a[i]=e is defined consistently with the value of a.v=e
var v1 = a[i];
var v2 = a[i]++;
if (v1 + 1 != v2) { strange(); }
The text was updated successfully, but these errors were encountered: