Skip to content

Conversation

robertbastian
Copy link
Member

Follow-up #6893

@robertbastian robertbastian requested review from sffc, Manishearth, nekevss and a team as code owners August 25, 2025 19:29
Copy link

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

I'm confused, I thought rearguard didn't have negative DST

@robertbastian
Copy link
Member Author

We only need rearguard semantics while zone is in a metazone, and in fact with the current CLDR overrides we can only have overrides while a zone is in a metazone. Casablanca has not been in a metazone since TZDB started modeling it as negative DST.

@robertbastian robertbastian requested a review from sffc August 25, 2025 21:31
Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

OK, so CLDR is agnostic to the guardedness of Casablanca. So then ICU4X needs to make a choice one way or the other. Why not stick with Rearguard like we've always done?

@robertbastian
Copy link
Member Author

Not sure what you mean by "CLDR is agnostic to the guardedness of Casablanca".

Why not stick with Rearguard like we've always done?

Because "we've always done it this way" is not a convincing argument and I'm trying to get a way from rearguard.

@robertbastian robertbastian requested a review from sffc August 25, 2025 21:46
Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

I feel like this is the 4th time we've had this conversation and it's not a good use of my time to rehash everything. But basically can we please just keep the current (rearguard) model and only adopt changes as CLDR adopts them.

@sffc
Copy link
Member

sffc commented Aug 25, 2025

Not sure what you mean by "CLDR is agnostic to the guardedness of Casablanca".

CLDR does not define the offsets for Casablanca post-2018 and therefore it is not the decision-maker. We are the decision-maker in ICU4X.

Because "we've always done it this way" is not a convincing argument and I'm trying to get a way from rearguard.

It's a very convincing argument. We are trying to get to CLDRguard, and until CLDRguard defines this behavior, we shouldn't proactively adopt something else.

@sffc
Copy link
Member

sffc commented Aug 25, 2025

Could we make UTS 35 say "the DST semantics are those of TZDB Rearguard except where there are overrides"?

@robertbastian
Copy link
Member Author

Could we make UTS 35 say "the DST semantics are those of TZDB Rearguard except where there are overrides"?

No. We don't have access to rearguard during datagen, we had hardcoded this before but that is not a long term solution.

Outside a metazone it does not matter.

@robertbastian robertbastian requested a review from sffc August 26, 2025 06:42
@sffc
Copy link
Member

sffc commented Aug 26, 2025

If it doesn't matter at all for anything (I guess with no Specific Location there isn't any case where it is used), then can we remove this data from TimezonePeriodsV1?

@robertbastian
Copy link
Member Author

We could, however there is some value knowing that Casblanca can be +1 or +0, without judging which one is standard time.

We also wouldn't be improving data size, as the offsets need to be there for metazone periods and making this variably-typed is only going to increase size.

Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

If I were making this change, I would have introduced a condition like "if DST offset < 0, then flip standard/daylight to make the DST offset > 0". I think it is harmful to change this time zone to vanguard, even if we aren't using the DST bit for anything at this moment in time. I also do not wish to see this PR used as precedent for introducing negative DST in Casablanca or any other CLDR time zone. With that understanding, I'll unblock the PR.

@robertbastian
Copy link
Member Author

it is harmful to change this time zone to vanguard

Not vanguard, main. The default TZDB variant that many other systems are also using.

@robertbastian robertbastian merged commit c5582b5 into unicode-org:main Aug 26, 2025
32 checks passed
@robertbastian robertbastian deleted the mz branch August 26, 2025 08:36
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