Normative: Revert U+2212 from time zone offset grammar#2856
Normative: Revert U+2212 from time zone offset grammar#2856
Conversation
|
This normative change reached consensus at the TC39 meeting of 2024-06-12. It doesn't need to be merged exactly at the same time as tc39/ecma262#3334, however, we should write test262 tests before merging either of them. |
e4a20e6 to
ba4365f
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2856 +/- ##
==========================================
- Coverage 96.51% 96.39% -0.12%
==========================================
Files 23 23
Lines 12432 12105 -327
Branches 2258 2208 -50
==========================================
- Hits 11999 11669 -330
- Misses 374 377 +3
Partials 59 59 ☔ View full report in Codecov by Sentry. |
|
Disregard the codecov message - this still needs an implementation. I'll work on the test262 tests and then use that to develop an implementation which I'll tack on to this PR. |
|
Tests are in tc39/test262#4120 and I've added the corresponding implementation to this PR. |
This PR is the Temporal counterpart to tc39/ecma262#3334. See that PR for details. This PR is dependent on that PR's approval.
Implementation corresponding to the spec text change in the previous commit.
c05b4c5 to
4912e29
Compare
https://bugs.webkit.org/show_bug.cgi?id=278075 Reviewed by Ross Kirsling. In the latest Temporal spec[1], the U+2212 MINUS SIGN cannot be used to represent negative numbers. This is consistent with RFC3339[2] and RFC9557[3]. However, the current JSC allows the U+2212 MINUS SIGN within ISO8601 strings. This patch changes to reject the U+2212 MINUS SIGN as the symbol for negative numbers in ISO8601 strings. [1]: tc39/proposal-temporal#2856 [2]: https://www.rfc-editor.org/rfc/rfc3339 [3]: https://www.rfc-editor.org/rfc/rfc9557 * JSTests/test262/expectations.yaml: * JSTests/stress/temporal-duration.js: (shouldThrow.Temporal.Duration.from): * JSTests/stress/temporal-instant.js: * JSTests/stress/temporal-plaindate.js: * JSTests/stress/temporal-plaindatetime.js: * JSTests/stress/temporal-plaintime.js: * JSTests/stress/temporal-timezone.js: * JSTests/test262/expectations.yaml: * Source/JavaScriptCore/runtime/ISO8601.cpp: (JSC::ISO8601::parseDuration): (JSC::ISO8601::parseTimeZoneNumericUTCOffset): (JSC::ISO8601::parseUTCOffsetInMinutes): (JSC::ISO8601::canBeTimeZone): (JSC::ISO8601::parseTimeZoneBracketedAnnotation): (JSC::ISO8601::parseTimeZone): (JSC::ISO8601::parseDate): Canonical link: https://commits.webkit.org/282272@main
This PR is the Temporal counterpart to tc39/ecma262#3334.
See that PR for details.