Closed Bug 1997048 Opened 9 months ago Closed 6 months ago

Upgrade to ICU4X 2.1.1

Categories

(Core :: Internationalization, task)

task

Tracking

()

RESOLVED FIXED
149 Branch
Tracking Status
firefox149 --- fixed

People

(Reporter: hsivonen, Assigned: m_kato)

References

(Blocks 1 open bug)

Details

Attachments

(5 files, 1 obsolete file)

ICU4X 2.1.1 is now on crates.io. We should update to it as a general matter of keeping dependencies up-to-date, but, moreover, there are calendar changes that are likely relevant to Temporal and the performance of CodePointTrie is better, which improves multiple components.

  • ICU4X 2.1.1 requires Rust 1.83, but Gecko's minimal requirement is still 1.82. Bug 1986626 is filed to update minimal version, but TASN/ASAN sitll use Rust 1.81 due to library issue, so it isn't easy to update to 1.83+.
  • Some calendar data are changed, so we need to adjust SpiderMonkey's tests.

https://treeherder.mozilla.org/jobs?repo=try&revision=f7c23d86ea08b8c8389dc654c1ffc1d8cce88137

Depends on: msrv-1.87

anba, what's going on with the Chinese associated ISO year in the tests?

Flags: needinfo?(andrebargull)

The code in https://searchfox.org/firefox-main/source/intl/components/src/calendar needs to be updated to handle the changed definitions of era years for Chinese/Dangi calendars. I'll attach a WIP patch for testing.

Flags: needinfo?(andrebargull)

Drive-by change:

  • Remove unused CalendarDate.
Blocks: 1999917
Attachment #9523422 - Attachment is obsolete: true
Blocks: 1988942

icuexport filename rule is changed, so we should add an argument for it.

ICU4X 2.1's FFI are

  • diplomat's namespace is changed
  • Remove a workarounds of calendar data to pass WPTs such as
    test262/intl402/Temporal/*/prototype/year/epoch-year.js.

I think we need to update some js tests to reflect changes in ICU4X 2.1.
Also, grapheme cluster is updated to Unicode 17.0, so Indic's breaking
behavior is changed.

Blocks: 2008105
Regressions: 2011393
QA Whiteboard: [qa-triage-done-c150/b149]

This seems to have introduced a duplication on embedded-io crate dependency: https://searchfox.org/firefox-main/rev/07e27bfce5acf193bdb89c7ba2aa73451a3e43b4/intl/icu_capi/Cargo.lock#731-732 we now have 0.4.0 and 0.6.1 ?

Regressions: 2030293
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: