-
Notifications
You must be signed in to change notification settings - Fork 247
Use ICU4X instead of unicode-normalization and unicase #6922
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
base: main
Are you sure you want to change the base?
Conversation
AFAICT, the cargo-audit failures are unrelated to this PR and also fail on |
The other failures are real failures to remove the combining marks, though. |
Looks like local debugging is needed to understand what's going wrong. |
I'll leave the review of the actual changes to the suggest team, but I think these new crates will block updating app-services in m-c until they are "audited" there - so we probably can't land this until they are. |
hrm, I just noticed https://bugzilla.mozilla.org/show_bug.cgi?id=1986265, which is implying that some of these libs would already be in m-c. I'm not sure if it's just the rust implementations which are not, or that I'm simply wrong :) But I had a quick look at Cargo.lock in m-c and noticed some of the crates aren't already listed there, which implies an audit might be necessary. |
I was expecting |
There isn't much to see in the audit delta, but I posted https://phabricator.services.mozilla.com/D263566 in case it helps the process along. |
The iOS failure looks unrelated. |
Looks like GitHub doesn't allow me to request review. CC @0c0w3 |
Thanks! It should be fine to request review on just the audit bits and land them ahead of time - Nika has explicitly said this is OK and we've done that in the past for things like this |
megazords/ios-rust/DEPENDENCIES.md
Outdated
@@ -510,6 +510,7 @@ The following text applies to code linked from these dependencies: | |||
[lalrpop-util](https://github.com/lalrpop/lalrpop), | |||
[lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs), | |||
[libc](https://github.com/rust-lang/libc), | |||
[linux-raw-sys](https://github.com/sunfishcode/linux-raw-sys), |
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 don't know why this line wasn't here before. AFAICT, I don't add any new way to depend on this, and this dependency is pre-existing.
I'm out of my depth on the unicode details but the main things I care about are that the suggest tests still pass and that merging this PR does not indefinitely block vendoring into m-c. We don't have any planned upcoming changes to suggest, so we don't have any plans to vendor in the near future, but I don't want to be blocked for a long time if something comes up. I don't think we have any planned changes to search either but I'm not as clear on that. |
The |
The tests pass now.
It would be really nice to vendor this change to m-c sooner than later so that the vendoring script could be updated not to allow further dependencies on non-ICU4X crates that duplicate ICU4X functionality and, more importantly, data.
|
Pull Request checklist
[ci full]
to the PR title.Following the docs didn't work on Ubuntu due to NSS integration failing to build, which is why I was unable to run the tests.
This change is not supposed to change observable behavior.
This is all about reducing dependencies (both Firefox and Application Services already depended on
icu_normalizer
, so this removes the duplicative dependencyunicode-normalization
) and about using dependencies that Firefox is trying to converge towards (icu_casemap
is part of ICU4X despite Firefox not already having it vendored).