-
Notifications
You must be signed in to change notification settings - Fork 227
Improve formatting for Etc/GMT+X zones #7055
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
Conversation
Using Gemini Code AssistThe 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 by creating a comment using either
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 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. |
components/time/src/zone/mod.rs
Outdated
#[allow(clippy::identity_op, clippy::neg_multiply)] | ||
let offset = match self.0.as_str().as_bytes() { | ||
b"utc" | b"gmt" => Some(UtcOffset::zero()), | ||
b"utce01" => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thought: this is a lot of string search branches. the compiler might optimize it.
it may be possible to instead write this as a check for "utc"
, then a check for e
or w
, and then a numeric check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll let someone else have the satisfaction of optimising this should that ever be needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rest looks good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(please resolve the Etc and offset precedence; I consider it a bug)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(answered question about code example)
We could set the offset and ID to unknown if the offsets don't match in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to have a test for the mismatched offset behavior
this PR tests that |
These should not format as "GMT+?", even if the offset is not set, and it shouldn't be possible to set a wrong offset.
The special-case code could also live in the specific format implementations in
icu_datetime
, but there it would be duplicated. It could also live inGetField<UtcOffset>
, but I like putting it inTimeZoneInfo
because then this is considered for equality ofTimeZoneInfo
, and by extensionZonedDateTime
.