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

Bump the temporal_rs version and related changes #4098

Merged
merged 1 commit into from
Dec 27, 2024
Merged

Conversation

nekevss
Copy link
Member

@nekevss nekevss commented Dec 26, 2024

This Pull Request is related to ongoing work for #1804

This is a general bump in the temporal_rs version that implements ZonedDateTime for duration rounding, updates the general API, build out of the remaining Now methods, and a couple other fixes.

Some other changes made in this PR are:

  • Updates to the Temporal object's static_property attribute flags
  • Fixed misspelled property names epochMilliseconds and epochNanoseconds
  • Removed some unused functions and variables in the PlainDate module

Copy link

github-actions bot commented Dec 26, 2024

Test262 conformance changes

Test result main count PR count difference
Total 48,625 48,625 0
Passed 43,853 43,947 +94
Ignored 1,471 1,471 0
Failed 3,301 3,207 -94
Panics 0 0 0
Conformance 90.19% 90.38% +0.19%
Fixed tests (109):
test/intl402/Temporal/Duration/prototype/round/rounding-with-largestunit.js (previously Failed)
test/built-ins/Temporal/PlainDate/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainDate/from/argument-zoneddatetime.js (previously Failed)
test/built-ins/Temporal/PlainDate/from/argument-zoneddatetime-slots.js (previously Failed)
test/built-ins/Temporal/PlainDate/compare/argument-zoneddatetime.js (previously Failed)
test/built-ins/Temporal/PlainDate/compare/argument-zoneddatetime-slots.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/equals/argument-zoneddatetime-slots.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/basic.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/until/largestunit-invalid-string.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/until/argument-zoneddatetime-slots.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/until/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/largestunit-invalid-string.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/argument-zoneddatetime-slots.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/PlainTime/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainTime/from/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/equals/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingincrement-invalid.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/until/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/roundingincrement-invalid.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/Instant/prop-desc.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/until/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/until/invalid-increments.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/invalid-increments.js (previously Failed)
test/built-ins/Temporal/Now/prop-desc.js (previously Failed)
test/built-ins/Temporal/Now/zonedDateTimeISO/timezone-wrong-type.js (previously Failed)
test/built-ins/Temporal/Now/plainDateISO/return-value.js (previously Failed)
test/built-ins/Temporal/Now/plainDateISO/timezone-string.js (previously Failed)
test/built-ins/Temporal/Now/plainDateISO/timezone-wrong-type.js (previously Failed)
test/built-ins/Temporal/Now/plainTimeISO/return-value.js (previously Failed)
test/built-ins/Temporal/Now/plainTimeISO/length.js (previously Failed)
test/built-ins/Temporal/Now/plainTimeISO/prop-desc.js (previously Failed)
test/built-ins/Temporal/Now/plainTimeISO/timezone-string.js (previously Failed)
test/built-ins/Temporal/Now/plainTimeISO/timezone-wrong-type.js (previously Failed)
test/built-ins/Temporal/Now/plainTimeISO/toPlainTime-override.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prop-desc.js (previously Failed)
test/built-ins/Temporal/Duration/prop-desc.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-invalid-offset-string.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/balances-down-differently-depending-on-relative-to.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/next-day-out-of-range.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/rounding-is-noop.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-zoneddatetime-slots.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-string-zoneddatetime-wrong-offset.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-infinity-throws-rangeerror.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/balances-up-differently-depending-on-relative-to.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-timezone-wrong-type.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/total-duration-nanoseconds-too-large-with-zoned-datetime.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/days-24-hours-relative-to-zoned-date-time.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/subclass.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prop-desc.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/from/options-object.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/from/argument-string-unknown-annotation.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/from/argument-string-negative-extended-year.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/compare/casts-arguments.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/epochMilliseconds/branding.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/epochMilliseconds/prop-desc.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/epochNanoseconds/branding.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/epochNanoseconds/prop-desc.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-unknown-annotation.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-with-time-designator.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-time-zone-annotation.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-date-with-utc-offset.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-calendar-annotation.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/argument-string-time-separators.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/subtract/options-object.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/subtract/overflow-undefined.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/subtract/subtract-duration-object.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/subtract/argument-string-fractional-units-rounding-mode.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/subtract/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/subtract/casts-argument.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/basic.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/startOfDay/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/add/options-object.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/add/overflow-undefined.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/add/argument-string-fractional-units-rounding-mode.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/add/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/toInstant/recent-date.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/toInstant/year-less-than-1.js (previously Failed)
test/built-ins/Temporal/ZonedDateTime/prototype/toInstant/year-less-than-99.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/from/argument-string-offset.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/from/argument-string.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/from/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/from/argument-string-comma-decimal-separator.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/compare/cast.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/equals/cast.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/until/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/until/argument-string.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/until/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/until/roundingincrement-does-not-divide.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/until/casts-argument.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/since/options-empty.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/since/argument-zoneddatetime-balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/since/argument-string.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/since/largestunit-smallestunit-mismatch.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/since/roundingincrement-does-not-divide.js (previously Failed)
test/staging/Temporal/Regex/old/plaindatetime.js (previously Failed)
Broken tests (15):
test/intl402/Temporal/PlainMonthDay/from/fields-missing-properties.js (previously Passed)
test/built-ins/Temporal/PlainDate/prototype/until/largestunit-default.js (previously Passed)
test/built-ins/Temporal/PlainDate/prototype/since/largestunit-default.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/year-zero.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-leap-second.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-string-invalid.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/relativeTo-required-properties.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/relativeto-wrong-type.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/throws-on-wrong-offset-for-zoned-date-time-relative-to.js (previously Passed)
test/built-ins/Temporal/ZonedDateTime/from/overflow-invalid-string.js (previously Passed)
test/built-ins/Temporal/PlainDateTime/from/argument-string-minus-sign.js (previously Passed)
test/built-ins/Temporal/PlainDateTime/compare/argument-string-minus-sign.js (previously Passed)
test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-string-minus-sign.js (previously Passed)
test/built-ins/Temporal/PlainDateTime/prototype/until/argument-string-minus-sign.js (previously Passed)
test/built-ins/Temporal/PlainDateTime/prototype/since/argument-string-minus-sign.js (previously Passed)

@nekevss nekevss requested review from jasonwilliams, jedel1043 and a team December 26, 2024 18:47
@jedel1043
Copy link
Member

Nice! Any reasons for the regressions? or are they just false positives? Also, do we want to bump test262 to pull the latest Temporal tests?

@nekevss
Copy link
Member Author

nekevss commented Dec 26, 2024

At a glance of the tests names, most if not all are going to be false positives from removing the not implemented errors, so I'd prefer to move along with these as is. Although, I'll probably start tracking the tests broken and PR # for future use as I'm starting to switch a bit more into bug hunting to shore up the tests.

I can bump the tests.

@nekevss nekevss force-pushed the bump-temporal-version branch from 4f436b6 to 94f15a5 Compare December 27, 2024 05:03
@jedel1043
Copy link
Member

Oof, those are a lot more failures than expected. I suppose those are the new spidermonkey tests that were imported. Can you check why they're failing? If it's something engine-dependent, it would be good to gate the tests.

@jedel1043
Copy link
Member

By the way, if it's getting too unwieldy for a single PR, I think it would be good to split the test262 bump into its own PR.

@nekevss
Copy link
Member Author

nekevss commented Dec 27, 2024

Hmmmm, I think I'd prefer to do it in a separate PR just for the separation of concerns. I was already leaning towards splitting them off last night. I'll just move them over to another branch and push that up.

@nekevss nekevss force-pushed the bump-temporal-version branch from 8461835 to 33107af Compare December 27, 2024 21:53
Copy link
Member

@jedel1043 jedel1043 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!

Err(JsNativeError::error()
.with_message("not yet implemented.")
.into())
fn zoneddatetime(_: &JsValue, args: &[JsValue], context: &mut Context) -> JsResult<JsValue> {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thought: not gonna bikeshed because I think it's not worth for internal APIs, but we should probably do a pass through our names to agree on at least a "convention" .

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I've been wanting to open an issue to go over naming conventions in temporal_rs for a few weeks now. Would be handy for Boa too

@jedel1043 jedel1043 requested a review from a team December 27, 2024 23:02
@raskad raskad added this pull request to the merge queue Dec 27, 2024
Merged via the queue into main with commit fdd8acc Dec 27, 2024
26 checks passed
@raskad raskad deleted the bump-temporal-version branch December 27, 2024 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants