Shane F. Carr

Results 402 issues of Shane F. Carr

The tuple ordering of extensions::unicode::Unicode is not equal to its string ordering. I added a `total_cmp` function to this type in https://github.com/unicode-org/icu4x/pull/4608, and in 2.0 we should remove the derived...

C-locale
S-tiny
2.0-breaking

I very often see clients who want to use ICU as a default behavior, but fall back to custom logic if ICU does not support a given locale. The main...

T-core
C-meta
A-design
S-medium
U-ecma402

It occurred to me when reviewing https://github.com/unicode-org/icu4x/pull/2898 that the function names we chose for rounding do not have an active verb: "half_even", etc. Should they be active verbs? Some of...

A-design
C-numbers
2.0-breaking

`FloatPrecision::Floating` is the "shortest round-trippable" representation of the f64. Calling it "floating" is a random term that isn't really accurate. What is a better name for the mode? We may...

discuss
C-numbers
needs-approval
discuss-triaged

In our MSRV policy agreed in #3425, we decided on the policy for when it is permissable to upgrade MSRVs, but we didn't talk about specifically the mechanics of _where_...

C-meta
needs-approval

There is too much going on in icu_locid_transform for it to be a core crate. It should only contain the things essential for fallback.

C-locale

Currently the ZeroTrie variants are generated using a macro, like this: ```rust macro_rules! impl_zerotrie_subtype { ($name:ident, $iter_ty:ty, $iter_fn:path, $cnv_fn:path) => { impl $name where Store: AsRef + ?Sized, { ///...

needs-approval
C-zerovec

Currently there are 3 places where errors can be returned in datetime formatting: 1. Constructor: `DateTimeFormatter::try_new` - Example: locale missing 2. Format function: `DateTimeFormatter::format` - Example: mismatched calendar 3. Write...

C-datetime

ICU4X versions 1.0 and 1.1 compile on Rust versions 1.61 through 1.68.2; they break on 1.69. I would like to amend the MSRV policy to state that _we guarantee the...

C-meta
needs-approval

Currently most Writeables implement `Display` which provides `ToString`. This means that people can write `foo.to_string()`, which uses the slower `Display`-based code path instead of the faster `Writeable::write_to_string` code path. We...

C-meta
S-small