• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zbraniecki / icu4x / 7319540133

25 Dec 2023 03:39AM UTC coverage: 72.884% (-0.1%) from 73.022%
7319540133

push

github

web-flow
Make ZeroVec have a niche via NonNull (#4491)

7 of 7 new or added lines in 2 files covered. (100.0%)

2721 existing lines in 221 files now uncovered.

46318 of 63550 relevant lines covered (72.88%)

272438.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/provider/baked/datetime/data/macros/datetime_patterns_datetime_v1.rs.data
1
// @generated
2
/// Implement `DataProvider<DateTimePatternV1Marker>` on the given struct using the data
3
/// hardcoded in this file. This allows the struct to be used with
4
/// `icu`'s `_unstable` constructors.
5
#[doc(hidden)]
6
#[macro_export]
7
macro_rules! __impl_datetime_patterns_datetime_v1 {
8
    ($ provider : ty) => {
9
        #[clippy::msrv = "1.67"]
10
        const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO;
11
        #[clippy::msrv = "1.67"]
12
        impl icu_provider::DataProvider<icu::datetime::provider::neo::DateTimePatternV1Marker> for $provider {
13
            fn load(&self, req: icu_provider::DataRequest) -> Result<icu_provider::DataResponse<icu::datetime::provider::neo::DateTimePatternV1Marker>, icu_provider::DataError> {
×
14
                static QU_X_L: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\0\0\0 \x80\0\x01") } } };
15
                static EU_X_F: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0(\x80\0\0\0\0)") } } };
16
                static EL_X_F: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0-\0\0 \x80\0\0") } } };
17
                static NN_X_L: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\0k\0\0l\0\0.\0\0 \x80\0\0") } } };
18
                static XNR_X_F: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \0\t\x1C\0\tK\0\0 \x80\0\0") } } };
19
                static EN_MV_X_F: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0 \x80\0\0") } } };
20
                static AST_X_F: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\0,\0\0 \x80\0\0") } } };
21
                static FA_X_M: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0 \x0F\0\0 \x80\0\0") } } };
22
                static FA_X_F: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0\0 \0\x063\0\x06'\0\x069\0\x06*\0\0 \x80\0\0") } } };
23
                static AR_X_F: <icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable = icu::datetime::provider::neo::DateTimePatternV1 { pattern: icu::datetime::pattern::runtime::GenericPattern { items: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x80\0\x01\0\x06\x0C\0\0 \x80\0\0") } } };
24
                static VALUES: [&<icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::DataMarker>::Yokeable; 322usize] = [&AR_X_F, &AR_X_F, &AR_X_F, &AR_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &EL_X_F, &EL_X_F, &AST_X_F, &AST_X_F, &EN_MV_X_F, &EN_MV_X_F, &EN_MV_X_F, &EN_MV_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &EU_X_F, &EU_X_F, &EU_X_F, &EU_X_F, &FA_X_F, &FA_X_F, &FA_X_M, &FA_X_M, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &NN_X_L, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &QU_X_L, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AR_X_F, &AR_X_F, &AR_X_F, &AR_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AR_X_F, &AR_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &EN_MV_X_F, &EN_MV_X_F, &EN_MV_X_F, &EN_MV_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &AST_X_F, &QU_X_L, &QU_X_L, &QU_X_L, &QU_X_L, &EL_X_F, &EL_X_F, &EL_X_F, &EL_X_F, &XNR_X_F, &XNR_X_F, &AST_X_F, &AST_X_F];
25
                static KEYS: [&str; 322usize] = ["ar-x-f", "ar-x-l", "ar-x-m", "ar-x-s", "ast-x-f", "ast-x-l", "ast-x-m", "be-x-f", "be-x-l", "be-x-m", "be-x-s", "bg-x-f", "bg-x-l", "bg-x-m", "bg-x-s", "blo-x-f", "blo-x-l", "blo-x-m", "blo-x-s", "br-x-f", "br-x-l", "br-x-m", "brx-x-f", "brx-x-l", "brx-x-m", "brx-x-s", "bs-x-f", "bs-x-l", "ca-x-f", "ca-x-l", "ca-x-m", "ceb-x-f", "ceb-x-l", "ceb-x-m", "ceb-x-s", "chr-x-f", "chr-x-l", "chr-x-m", "chr-x-s", "cv-x-f", "cv-x-l", "cv-x-m", "cv-x-s", "cy-x-f", "cy-x-l", "de-x-f", "de-x-l", "de-x-m", "de-x-s", "doi-x-f", "doi-x-l", "doi-x-m", "doi-x-s", "el-x-f", "el-x-l", "el-x-m", "el-x-s", "en-MV-x-f", "en-MV-x-l", "en-MV-x-m", "en-MV-x-s", "en-x-f", "en-x-l", "en-x-m", "en-x-s", "es-x-f", "es-x-l", "es-x-m", "es-x-s", "eu-x-f", "eu-x-l", "eu-x-m", "eu-x-s", "fa-x-f", "fa-x-l", "fa-x-m", "fa-x-s", "fil-x-f", "fil-x-l", "fil-x-m", "fil-x-s", "fo-x-f", "fo-x-l", "fo-x-m", "fo-x-s", "fr-ML-x-s", "fr-x-f", "fr-x-l", "fr-x-m", "gl-x-f", "gl-x-l", "gl-x-m", "gl-x-s", "ha-x-l", "ha-x-m", "ha-x-s", "he-x-f", "he-x-l", "he-x-m", "he-x-s", "hi-Latn-x-f", "hi-Latn-x-l", "hi-x-f", "hi-x-l", "hi-x-m", "hi-x-s", "hy-x-f", "hy-x-l", "hy-x-m", "hy-x-s", "ig-x-f", "ig-x-l", "ig-x-m", "ig-x-s", "is-x-f", "is-x-l", "is-x-m", "is-x-s", "it-x-m", "it-x-s", "jv-x-m", "jv-x-s", "ka-x-f", "ka-x-l", "ka-x-m", "ka-x-s", "kea-x-f", "kea-x-l", "kea-x-m", "kea-x-s", "kk-x-f", "kk-x-l", "kk-x-m", "kk-x-s", "km-x-f", "km-x-l", "km-x-m", "km-x-s", "ks-Deva-x-f", "ks-Deva-x-l", "ks-Deva-x-m", "ks-Deva-x-s", "ks-x-f", "ks-x-l", "ks-x-m", "ks-x-s", "kxv-x-f", "kxv-x-l", "kxv-x-m", "kxv-x-s", "lo-x-f", "lo-x-l", "lo-x-m", "lo-x-s", "mai-x-f", "mai-x-l", "mai-x-m", "mai-x-s", "mk-x-f", "mk-x-l", "mk-x-m", "mk-x-s", "mni-x-f", "mni-x-l", "mni-x-m", "mni-x-s", "mr-x-f", "mr-x-l", "mr-x-m", "mr-x-s", "ms-x-m", "ms-x-s", "nb-x-f", "nb-x-l", "nb-x-m", "nb-x-s", "ne-x-m", "ne-x-s", "nl-x-f", "nl-x-l", "nl-x-m", "nl-x-s", "nn-x-l", "nn-x-m", "nn-x-s", "no-x-f", "no-x-l", "no-x-m", "no-x-s", "or-x-f", "or-x-l", "or-x-m", "or-x-s", "pa-x-m", "pa-x-s", "pcm-x-f", "pcm-x-l", "pl-x-m", "pl-x-s", "pt-AO-x-f", "pt-AO-x-l", "pt-AO-x-m", "pt-AO-x-s", "pt-CH-x-f", "pt-CH-x-l", "pt-CH-x-m", "pt-CH-x-s", "pt-CV-x-f", "pt-CV-x-l", "pt-CV-x-m", "pt-CV-x-s", "pt-GQ-x-f", "pt-GQ-x-l", "pt-GQ-x-m", "pt-GQ-x-s", "pt-GW-x-f", "pt-GW-x-l", "pt-GW-x-m", "pt-GW-x-s", "pt-LU-x-f", "pt-LU-x-l", "pt-LU-x-m", "pt-LU-x-s", "pt-MO-x-f", "pt-MO-x-l", "pt-MO-x-m", "pt-MO-x-s", "pt-MZ-x-f", "pt-MZ-x-l", "pt-MZ-x-m", "pt-MZ-x-s", "pt-PT-x-f", "pt-PT-x-l", "pt-PT-x-m", "pt-PT-x-s", "pt-ST-x-f", "pt-ST-x-l", "pt-ST-x-m", "pt-ST-x-s", "pt-TL-x-f", "pt-TL-x-l", "pt-TL-x-m", "pt-TL-x-s", "qu-x-l", "ro-x-f", "ro-x-l", "ro-x-m", "ro-x-s", "ru-x-f", "ru-x-l", "ru-x-m", "ru-x-s", "sa-x-f", "sa-x-l", "sa-x-m", "sa-x-s", "sc-x-f", "sc-x-l", "sc-x-m", "sc-x-s", "sd-Deva-x-f", "sd-Deva-x-l", "sd-Deva-x-m", "sd-Deva-x-s", "sk-x-f", "sk-x-l", "sk-x-m", "sl-x-m", "sl-x-s", "sq-x-f", "sq-x-l", "sq-x-m", "sq-x-s", "su-x-f", "su-x-l", "su-x-m", "su-x-s", "syr-x-f", "syr-x-l", "syr-x-m", "syr-x-s", "ta-x-f", "ta-x-l", "ta-x-m", "ta-x-s", "to-x-f", "to-x-l", "to-x-m", "tt-x-f", "tt-x-l", "tt-x-m", "tt-x-s", "ug-x-m", "ug-x-s", "uk-x-f", "uk-x-l", "uk-x-m", "uk-x-s", "und-x-f", "und-x-l", "und-x-m", "und-x-s", "uz-x-f", "uz-x-l", "uz-x-m", "uz-x-s", "vec-x-f", "vec-x-l", "vec-x-m", "vec-x-s", "vi-x-f", "vi-x-l", "vi-x-m", "vi-x-s", "wo-x-f", "wo-x-l", "wo-x-m", "wo-x-s", "xnr-x-f", "xnr-x-l", "xnr-x-m", "xnr-x-s"];
26
                let mut metadata = icu_provider::DataResponseMetadata::default();
×
27
                let payload = if let Ok(payload) = KEYS.binary_search_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).map(|i| *unsafe { VALUES.get_unchecked(i) }) {
×
28
                    payload
×
29
                } else {
30
                    const FALLBACKER: icu::locid_transform::fallback::LocaleFallbackerWithConfig<'static> = icu::locid_transform::fallback::LocaleFallbacker::new().for_config(<icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::KeyedDataMarker>::KEY.fallback_config());
31
                    let mut fallback_iterator = FALLBACKER.fallback_for(req.locale.clone());
×
32
                    loop {
×
33
                        if let Ok(payload) = KEYS.binary_search_by(|k| fallback_iterator.get().strict_cmp(k.as_bytes()).reverse()).map(|i| *unsafe { VALUES.get_unchecked(i) }) {
×
34
                            metadata.locale = Some(fallback_iterator.take());
×
35
                            break payload;
36
                        }
37
                        if fallback_iterator.get().is_und() {
×
UNCOV
38
                            return Err(icu_provider::DataErrorKind::MissingLocale.with_req(<icu::datetime::provider::neo::DateTimePatternV1Marker as icu_provider::KeyedDataMarker>::KEY, req));
×
39
                        }
40
                        fallback_iterator.step();
×
41
                    }
42
                };
×
43
                Ok(icu_provider::DataResponse { payload: Some(icu_provider::DataPayload::from_static_ref(payload)), metadata })
×
44
            }
×
45
        }
46
    };
47
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc