Skip to content

Conversation

@nekevss
Copy link
Member

@nekevss nekevss commented Dec 23, 2025

This PR implements the logic for the zero copy zone info provider.

Overall, the primary steps taken in this PR is to adapt the logic for the zero copy zoneinfo provider from the tzif module.

Posting this early as a draft for early review / tracking

TODOs:

  • Pass ZonedDateTime tests
  • Clean up modules + add documentation (sort of, this could probably benefit from a second pass)

@nekevss nekevss requested review from a team and Manishearth December 23, 2025 23:17
@nekevss nekevss marked this pull request as ready for review December 23, 2025 23:17
@nekevss
Copy link
Member Author

nekevss commented Dec 23, 2025

I'm marking this as ready for review, but I'm very, very close to splitting this apart into separate PRs as this became a much larger change than initially planned. However, all the changes are linked to the primary change.

I believe the individual commits are properly separated enough that this could be reviewed, but again I'm not against pulling this apart and splitting it into smaller PRs.

There are primarily four changes layered here.

  1. Bug fixes in zoneinfo_rs + adding support for designations and is_dst (a bug fix in itself) (296e67b and 18a4ed2)
  2. Add a data-inspect tool for viewing the experimental_tzif data provider (3593004)
  3. Rebuild the baked data for the compiled time zone provider (971ee6b)
  4. Implement the logic for the zerocopy compiled time zone provider

The reason this PR became so large was that the initial goal was to implement 4. However, implementing 4 exposed some bugs in zoneinfo's baked data provider, which prompted 1 (to fix the bugs), 2 (to help identify and diagnose the bugs), and 3 (to fix the bad compiled data with the fixed version).

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.

2 participants