Expose provider::Baked as per-formatter Fork providers #5922
Labels
C-data-infra
Component: provider, datagen, fallback, adapters
discuss
Discuss at a future ICU4X-SC meeting
The current scenario with baked vs other providers is that you have roughly equivalent functionality, except there is no easy way to do fancy data provider stuff with baked data. You can't easily mix baked data with buffer data, or "intercept" the baked data load to understand resolved locales as needed by some strategies for storing resolved options (#5900).
A concrete use case would be wishing to use a hotloadable buffer provider for locale data, and baked data for closed sets of data (like digits data, UCD data, etc).
We do have
provider::Baked
in each crate but it's not all the data needed by the type. It would be nice if each formatter type had aconst fn get_baked_provider() -> impl DataProvider ...
that produces a baked data provider that works for that type. Typically it will beprovider::Baked
, or it will be something likeForkByKeyProvider<provider::Baked, othercrate::provider::Baked>
cc @sffc @robertbastian
The text was updated successfully, but these errors were encountered: