-
Notifications
You must be signed in to change notification settings - Fork 263
Expand file tree
/
Copy pathlib.rs
More file actions
382 lines (376 loc) · 32.7 KB
/
lib.rs
File metadata and controls
382 lines (376 loc) · 32.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
// This file is part of ICU4X. For terms of use, please see the file
// called LICENSE at the top level of the ICU4X source tree
// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
// https://github.com/unicode-org/icu4x/blob/main/documents/process/boilerplate.md#library-annotations
#![cfg_attr(not(any(test, doc)), no_std)]
#![cfg_attr(
not(test),
deny(
clippy::indexing_slicing,
clippy::unwrap_used,
clippy::expect_used,
clippy::panic,
)
)]
#![warn(missing_docs)]
//! Exposes the list of all known `DataMarker`s.
//!
//! This is modeled as a macro that accepts a callback macro of the shape:
//!
//! ```
//! macro_rules! cb {
//! ($($marker_ty:ty:$marker:ident,)+ #[unstable] $($emarker_ty:ty:$emarker:ident,)+) => {
//! // Do something for each marker, or each unstable marker
//! };
//! }
//! ```
//!
//! Calling this as `registry!(cb);` evaluates `cb` with the list of markers.
#[macro_export]
/// See the crate docs.
macro_rules! registry(
($cb:ident) => {
cb!(
icu::calendar::provider::CalendarJapaneseModernV1: CalendarJapaneseModernV1,
icu::calendar::provider::CalendarWeekV1: CalendarWeekV1,
icu::casemap::provider::CaseMapV1: CaseMapV1,
icu::casemap::provider::CaseMapUnfoldV1: CaseMapUnfoldV1,
icu::collator::provider::CollationRootV1: CollationRootV1,
icu::collator::provider::CollationTailoringV1: CollationTailoringV1,
icu::collator::provider::CollationDiacriticsV1: CollationDiacriticsV1,
icu::collator::provider::CollationJamoV1: CollationJamoV1,
icu::collator::provider::CollationMetadataV1: CollationMetadataV1,
icu::collator::provider::CollationReorderingV1: CollationReorderingV1,
icu::collator::provider::CollationSpecialPrimariesV1: CollationSpecialPrimariesV1,
icu::datetime::provider::time_zones::TimezoneNamesLocationsOverrideV1: TimezoneNamesLocationsOverrideV1,
icu::datetime::provider::time_zones::TimezoneNamesLocationsRootV1: TimezoneNamesLocationsRootV1,
icu::datetime::provider::time_zones::TimezoneNamesCitiesOverrideV1: TimezoneNamesCitiesOverrideV1,
icu::datetime::provider::time_zones::TimezoneNamesCitiesRootV1: TimezoneNamesCitiesRootV1,
icu::datetime::provider::time_zones::TimezoneNamesGenericLongV1: TimezoneNamesGenericLongV1,
icu::datetime::provider::time_zones::TimezoneNamesStandardLongV1: TimezoneNamesStandardLongV1,
icu::datetime::provider::time_zones::TimezoneNamesGenericShortV1: TimezoneNamesGenericShortV1,
icu::datetime::provider::time_zones::TimezoneNamesSpecificLongV1: TimezoneNamesSpecificLongV1,
icu::datetime::provider::time_zones::TimezoneNamesSpecificShortV1: TimezoneNamesSpecificShortV1,
icu::datetime::provider::time_zones::TimezoneNamesEssentialsV1: TimezoneNamesEssentialsV1,
icu::time::provider::TimezonePeriodsV1: TimezonePeriodsV1,
icu::decimal::provider::DecimalDigitsV1: DecimalDigitsV1,
icu::decimal::provider::DecimalSymbolsV1: DecimalSymbolsV1,
icu::list::provider::ListAndV1: ListAndV1,
icu::list::provider::ListOrV1: ListOrV1,
icu::list::provider::ListUnitV1: ListUnitV1,
icu::locale::provider::LocaleAliasesV1: LocaleAliasesV1,
icu::locale::provider::LocaleExemplarCharactersAuxiliaryV1: LocaleExemplarCharactersAuxiliaryV1,
icu::locale::provider::LocaleExemplarCharactersIndexV1: LocaleExemplarCharactersIndexV1,
icu::locale::provider::LocaleExemplarCharactersMainV1: LocaleExemplarCharactersMainV1,
icu::locale::provider::LocaleExemplarCharactersNumbersV1: LocaleExemplarCharactersNumbersV1,
icu::locale::provider::LocaleExemplarCharactersPunctuationV1: LocaleExemplarCharactersPunctuationV1,
icu::locale::provider::LocaleLikelySubtagsExtendedV1: LocaleLikelySubtagsExtendedV1,
icu::locale::provider::LocaleLikelySubtagsLanguageV1: LocaleLikelySubtagsLanguageV1,
icu::locale::provider::LocaleLikelySubtagsScriptRegionV1: LocaleLikelySubtagsScriptRegionV1,
icu::locale::provider::LocaleParentsV1: LocaleParentsV1,
icu::locale::provider::LocaleScriptDirectionV1: LocaleScriptDirectionV1,
icu::normalizer::provider::NormalizerNfcV1: NormalizerNfcV1,
icu::normalizer::provider::NormalizerNfdDataV1: NormalizerNfdDataV1,
icu::normalizer::provider::NormalizerNfdTablesV1: NormalizerNfdTablesV1,
icu::normalizer::provider::NormalizerNfkdDataV1: NormalizerNfkdDataV1,
icu::normalizer::provider::NormalizerNfkdTablesV1: NormalizerNfkdTablesV1,
icu::normalizer::provider::NormalizerNfdSupplementV1: NormalizerNfdSupplementV1,
icu::normalizer::provider::NormalizerUts46DataV1: NormalizerUts46DataV1,
icu::plurals::provider::PluralsCardinalV1: PluralsCardinalV1,
icu::plurals::provider::PluralsOrdinalV1: PluralsOrdinalV1,
icu::properties::provider::PropertyNameLongBidiClassV1: PropertyNameLongBidiClassV1,
icu::properties::provider::PropertyNameLongNumericTypeV1: PropertyNameLongNumericTypeV1,
icu::properties::provider::PropertyNameLongCanonicalCombiningClassV1: PropertyNameLongCanonicalCombiningClassV1,
icu::properties::provider::PropertyNameLongEastAsianWidthV1: PropertyNameLongEastAsianWidthV1,
icu::properties::provider::PropertyNameLongGeneralCategoryV1: PropertyNameLongGeneralCategoryV1,
icu::properties::provider::PropertyNameLongGraphemeClusterBreakV1: PropertyNameLongGraphemeClusterBreakV1,
icu::properties::provider::PropertyNameLongHangulSyllableTypeV1: PropertyNameLongHangulSyllableTypeV1,
icu::properties::provider::PropertyNameLongIndicSyllabicCategoryV1: PropertyNameLongIndicSyllabicCategoryV1,
icu::properties::provider::PropertyNameLongIndicConjunctBreakV1: PropertyNameLongIndicConjunctBreakV1,
icu::properties::provider::PropertyNameLongJoiningTypeV1: PropertyNameLongJoiningTypeV1,
icu::properties::provider::PropertyNameLongJoiningGroupV1: PropertyNameLongJoiningGroupV1,
icu::properties::provider::PropertyNameLongLineBreakV1: PropertyNameLongLineBreakV1,
icu::properties::provider::PropertyNameLongScriptV1: PropertyNameLongScriptV1,
icu::properties::provider::PropertyNameLongSentenceBreakV1: PropertyNameLongSentenceBreakV1,
icu::properties::provider::PropertyNameLongVerticalOrientationV1: PropertyNameLongVerticalOrientationV1,
icu::properties::provider::PropertyNameLongWordBreakV1: PropertyNameLongWordBreakV1,
icu::properties::provider::PropertyNameParseBidiClassV1: PropertyNameParseBidiClassV1,
icu::properties::provider::PropertyNameParseNumericTypeV1: PropertyNameParseNumericTypeV1,
icu::properties::provider::PropertyNameParseCanonicalCombiningClassV1: PropertyNameParseCanonicalCombiningClassV1,
icu::properties::provider::PropertyNameParseEastAsianWidthV1: PropertyNameParseEastAsianWidthV1,
icu::properties::provider::PropertyNameParseGeneralCategoryMaskV1: PropertyNameParseGeneralCategoryMaskV1,
icu::properties::provider::PropertyNameParseGeneralCategoryV1: PropertyNameParseGeneralCategoryV1,
icu::properties::provider::PropertyNameParseGraphemeClusterBreakV1: PropertyNameParseGraphemeClusterBreakV1,
icu::properties::provider::PropertyNameParseHangulSyllableTypeV1: PropertyNameParseHangulSyllableTypeV1,
icu::properties::provider::PropertyNameParseIndicSyllabicCategoryV1: PropertyNameParseIndicSyllabicCategoryV1,
icu::properties::provider::PropertyNameParseIndicConjunctBreakV1: PropertyNameParseIndicConjunctBreakV1,
icu::properties::provider::PropertyNameParseJoiningTypeV1: PropertyNameParseJoiningTypeV1,
icu::properties::provider::PropertyNameParseJoiningGroupV1: PropertyNameParseJoiningGroupV1,
icu::properties::provider::PropertyNameParseLineBreakV1: PropertyNameParseLineBreakV1,
icu::properties::provider::PropertyNameParseScriptV1: PropertyNameParseScriptV1,
icu::properties::provider::PropertyNameParseSentenceBreakV1: PropertyNameParseSentenceBreakV1,
icu::properties::provider::PropertyNameParseVerticalOrientationV1: PropertyNameParseVerticalOrientationV1,
icu::properties::provider::PropertyNameParseWordBreakV1: PropertyNameParseWordBreakV1,
icu::properties::provider::PropertyNameShortBidiClassV1: PropertyNameShortBidiClassV1,
icu::properties::provider::PropertyNameShortNumericTypeV1: PropertyNameShortNumericTypeV1,
icu::properties::provider::PropertyNameShortCanonicalCombiningClassV1: PropertyNameShortCanonicalCombiningClassV1,
icu::properties::provider::PropertyNameShortEastAsianWidthV1: PropertyNameShortEastAsianWidthV1,
icu::properties::provider::PropertyNameShortGeneralCategoryV1: PropertyNameShortGeneralCategoryV1,
icu::properties::provider::PropertyNameShortGraphemeClusterBreakV1: PropertyNameShortGraphemeClusterBreakV1,
icu::properties::provider::PropertyNameShortHangulSyllableTypeV1: PropertyNameShortHangulSyllableTypeV1,
icu::properties::provider::PropertyNameShortIndicSyllabicCategoryV1: PropertyNameShortIndicSyllabicCategoryV1,
icu::properties::provider::PropertyNameShortIndicConjunctBreakV1: PropertyNameShortIndicConjunctBreakV1,
icu::properties::provider::PropertyNameShortJoiningTypeV1: PropertyNameShortJoiningTypeV1,
icu::properties::provider::PropertyNameShortJoiningGroupV1: PropertyNameShortJoiningGroupV1,
icu::properties::provider::PropertyNameShortLineBreakV1: PropertyNameShortLineBreakV1,
icu::properties::provider::PropertyNameShortScriptV1: PropertyNameShortScriptV1,
icu::properties::provider::PropertyNameShortVerticalOrientationV1: PropertyNameShortVerticalOrientationV1,
icu::properties::provider::PropertyNameShortSentenceBreakV1: PropertyNameShortSentenceBreakV1,
icu::properties::provider::PropertyNameShortWordBreakV1: PropertyNameShortWordBreakV1,
icu::properties::provider::PropertyBinaryAlnumV1: PropertyBinaryAlnumV1,
icu::properties::provider::PropertyBinaryAlphabeticV1: PropertyBinaryAlphabeticV1,
icu::properties::provider::PropertyBinaryAsciiHexDigitV1: PropertyBinaryAsciiHexDigitV1,
icu::properties::provider::PropertyBinaryBidiControlV1: PropertyBinaryBidiControlV1,
icu::properties::provider::PropertyBinaryBidiMirroredV1: PropertyBinaryBidiMirroredV1,
icu::properties::provider::PropertyBinaryBlankV1: PropertyBinaryBlankV1,
icu::properties::provider::PropertyBinaryCasedV1: PropertyBinaryCasedV1,
icu::properties::provider::PropertyBinaryCaseIgnorableV1: PropertyBinaryCaseIgnorableV1,
icu::properties::provider::PropertyBinaryCaseSensitiveV1: PropertyBinaryCaseSensitiveV1,
icu::properties::provider::PropertyBinaryChangesWhenCasefoldedV1: PropertyBinaryChangesWhenCasefoldedV1,
icu::properties::provider::PropertyBinaryChangesWhenCasemappedV1: PropertyBinaryChangesWhenCasemappedV1,
icu::properties::provider::PropertyBinaryChangesWhenLowercasedV1: PropertyBinaryChangesWhenLowercasedV1,
icu::properties::provider::PropertyBinaryChangesWhenNfkcCasefoldedV1: PropertyBinaryChangesWhenNfkcCasefoldedV1,
icu::properties::provider::PropertyBinaryChangesWhenTitlecasedV1: PropertyBinaryChangesWhenTitlecasedV1,
icu::properties::provider::PropertyBinaryChangesWhenUppercasedV1: PropertyBinaryChangesWhenUppercasedV1,
icu::properties::provider::PropertyBinaryDashV1: PropertyBinaryDashV1,
icu::properties::provider::PropertyBinaryDefaultIgnorableCodePointV1: PropertyBinaryDefaultIgnorableCodePointV1,
icu::properties::provider::PropertyBinaryDeprecatedV1: PropertyBinaryDeprecatedV1,
icu::properties::provider::PropertyBinaryDiacriticV1: PropertyBinaryDiacriticV1,
icu::properties::provider::PropertyBinaryEmojiComponentV1: PropertyBinaryEmojiComponentV1,
icu::properties::provider::PropertyBinaryEmojiModifierBaseV1: PropertyBinaryEmojiModifierBaseV1,
icu::properties::provider::PropertyBinaryEmojiModifierV1: PropertyBinaryEmojiModifierV1,
icu::properties::provider::PropertyBinaryEmojiPresentationV1: PropertyBinaryEmojiPresentationV1,
icu::properties::provider::PropertyBinaryEmojiV1: PropertyBinaryEmojiV1,
icu::properties::provider::PropertyBinaryExtendedPictographicV1: PropertyBinaryExtendedPictographicV1,
icu::properties::provider::PropertyBinaryExtenderV1: PropertyBinaryExtenderV1,
icu::properties::provider::PropertyBinaryFullCompositionExclusionV1: PropertyBinaryFullCompositionExclusionV1,
icu::properties::provider::PropertyBinaryGraphemeBaseV1: PropertyBinaryGraphemeBaseV1,
icu::properties::provider::PropertyBinaryGraphemeExtendV1: PropertyBinaryGraphemeExtendV1,
icu::properties::provider::PropertyBinaryGraphemeLinkV1: PropertyBinaryGraphemeLinkV1,
icu::properties::provider::PropertyBinaryGraphV1: PropertyBinaryGraphV1,
icu::properties::provider::PropertyBinaryHexDigitV1: PropertyBinaryHexDigitV1,
icu::properties::provider::PropertyBinaryHyphenV1: PropertyBinaryHyphenV1,
icu::properties::provider::PropertyBinaryIdCompatMathContinueV1: PropertyBinaryIdCompatMathContinueV1,
icu::properties::provider::PropertyBinaryIdCompatMathStartV1: PropertyBinaryIdCompatMathStartV1,
icu::properties::provider::PropertyBinaryIdContinueV1: PropertyBinaryIdContinueV1,
icu::properties::provider::PropertyBinaryIdeographicV1: PropertyBinaryIdeographicV1,
icu::properties::provider::PropertyBinaryIdsBinaryOperatorV1: PropertyBinaryIdsBinaryOperatorV1,
icu::properties::provider::PropertyBinaryIdStartV1: PropertyBinaryIdStartV1,
icu::properties::provider::PropertyBinaryIdsTrinaryOperatorV1: PropertyBinaryIdsTrinaryOperatorV1,
icu::properties::provider::PropertyBinaryIdsUnaryOperatorV1: PropertyBinaryIdsUnaryOperatorV1,
icu::properties::provider::PropertyBinaryJoinControlV1: PropertyBinaryJoinControlV1,
icu::properties::provider::PropertyBinaryLogicalOrderExceptionV1: PropertyBinaryLogicalOrderExceptionV1,
icu::properties::provider::PropertyBinaryLowercaseV1: PropertyBinaryLowercaseV1,
icu::properties::provider::PropertyBinaryMathV1: PropertyBinaryMathV1,
icu::properties::provider::PropertyBinaryModifierCombiningMarkV1: PropertyBinaryModifierCombiningMarkV1,
icu::properties::provider::PropertyBinaryNfcInertV1: PropertyBinaryNfcInertV1,
icu::properties::provider::PropertyBinaryNfdInertV1: PropertyBinaryNfdInertV1,
icu::properties::provider::PropertyBinaryNfkcInertV1: PropertyBinaryNfkcInertV1,
icu::properties::provider::PropertyBinaryNfkdInertV1: PropertyBinaryNfkdInertV1,
icu::properties::provider::PropertyBinaryNoncharacterCodePointV1: PropertyBinaryNoncharacterCodePointV1,
icu::properties::provider::PropertyBinaryPatternSyntaxV1: PropertyBinaryPatternSyntaxV1,
icu::properties::provider::PropertyBinaryPatternWhiteSpaceV1: PropertyBinaryPatternWhiteSpaceV1,
icu::properties::provider::PropertyBinaryPrependedConcatenationMarkV1: PropertyBinaryPrependedConcatenationMarkV1,
icu::properties::provider::PropertyBinaryPrintV1: PropertyBinaryPrintV1,
icu::properties::provider::PropertyBinaryQuotationMarkV1: PropertyBinaryQuotationMarkV1,
icu::properties::provider::PropertyBinaryRadicalV1: PropertyBinaryRadicalV1,
icu::properties::provider::PropertyBinaryRegionalIndicatorV1: PropertyBinaryRegionalIndicatorV1,
icu::properties::provider::PropertyBinarySegmentStarterV1: PropertyBinarySegmentStarterV1,
icu::properties::provider::PropertyBinarySentenceTerminalV1: PropertyBinarySentenceTerminalV1,
icu::properties::provider::PropertyBinarySoftDottedV1: PropertyBinarySoftDottedV1,
icu::properties::provider::PropertyBinaryTerminalPunctuationV1: PropertyBinaryTerminalPunctuationV1,
icu::properties::provider::PropertyBinaryUnifiedIdeographV1: PropertyBinaryUnifiedIdeographV1,
icu::properties::provider::PropertyBinaryUppercaseV1: PropertyBinaryUppercaseV1,
icu::properties::provider::PropertyBinaryVariationSelectorV1: PropertyBinaryVariationSelectorV1,
icu::properties::provider::PropertyBinaryWhiteSpaceV1: PropertyBinaryWhiteSpaceV1,
icu::properties::provider::PropertyBinaryXdigitV1: PropertyBinaryXdigitV1,
icu::properties::provider::PropertyBinaryXidContinueV1: PropertyBinaryXidContinueV1,
icu::properties::provider::PropertyBinaryXidStartV1: PropertyBinaryXidStartV1,
icu::properties::provider::PropertyEnumBidiClassV1: PropertyEnumBidiClassV1,
icu::properties::provider::PropertyEnumNumericTypeV1: PropertyEnumNumericTypeV1,
icu::properties::provider::PropertyEnumCanonicalCombiningClassV1: PropertyEnumCanonicalCombiningClassV1,
icu::properties::provider::PropertyEnumEastAsianWidthV1: PropertyEnumEastAsianWidthV1,
icu::properties::provider::PropertyEnumGeneralCategoryV1: PropertyEnumGeneralCategoryV1,
icu::properties::provider::PropertyEnumGraphemeClusterBreakV1: PropertyEnumGraphemeClusterBreakV1,
icu::properties::provider::PropertyEnumHangulSyllableTypeV1: PropertyEnumHangulSyllableTypeV1,
icu::properties::provider::PropertyEnumIndicConjunctBreakV1: PropertyEnumIndicConjunctBreakV1,
icu::properties::provider::PropertyEnumIndicSyllabicCategoryV1: PropertyEnumIndicSyllabicCategoryV1,
icu::properties::provider::PropertyEnumJoiningTypeV1: PropertyEnumJoiningTypeV1,
icu::properties::provider::PropertyEnumJoiningGroupV1: PropertyEnumJoiningGroupV1,
icu::properties::provider::PropertyEnumLineBreakV1: PropertyEnumLineBreakV1,
icu::properties::provider::PropertyEnumScriptV1: PropertyEnumScriptV1,
icu::properties::provider::PropertyEnumSentenceBreakV1: PropertyEnumSentenceBreakV1,
icu::properties::provider::PropertyEnumVerticalOrientationV1: PropertyEnumVerticalOrientationV1,
icu::properties::provider::PropertyEnumWordBreakV1: PropertyEnumWordBreakV1,
icu::properties::provider::PropertyEnumBidiMirroringGlyphV1: PropertyEnumBidiMirroringGlyphV1,
icu::properties::provider::PropertyBinaryBasicEmojiV1: PropertyBinaryBasicEmojiV1,
icu::properties::provider::PropertyScriptWithExtensionsV1: PropertyScriptWithExtensionsV1,
icu::segmenter::provider::SegmenterDictionaryExtendedV1: SegmenterDictionaryExtendedV1,
icu::segmenter::provider::SegmenterDictionaryAutoV1: SegmenterDictionaryAutoV1,
icu::segmenter::provider::SegmenterBreakGraphemeClusterV1: SegmenterBreakGraphemeClusterV1,
icu::segmenter::provider::SegmenterBreakLineV1: SegmenterBreakLineV1,
icu::segmenter::provider::SegmenterLstmAutoV1: SegmenterLstmAutoV1,
icu::segmenter::provider::SegmenterBreakSentenceOverrideV1: SegmenterBreakSentenceOverrideV1,
icu::segmenter::provider::SegmenterBreakSentenceV1: SegmenterBreakSentenceV1,
icu::segmenter::provider::SegmenterBreakWordOverrideV1: SegmenterBreakWordOverrideV1,
icu::segmenter::provider::SegmenterBreakWordV1: SegmenterBreakWordV1,
icu::time::provider::iana::TimezoneIdentifiersIanaExtendedV1: TimezoneIdentifiersIanaExtendedV1,
icu::time::provider::iana::TimezoneIdentifiersIanaCoreV1: TimezoneIdentifiersIanaCoreV1,
icu::time::provider::windows::TimezoneIdentifiersWindowsV1: TimezoneIdentifiersWindowsV1,
icu::datetime::provider::names::DatetimeNamesWeekdayV1: DatetimeNamesWeekdayV1,
icu::datetime::provider::names::DatetimeNamesDayperiodV1: DatetimeNamesDayperiodV1,
icu::datetime::provider::names::DatetimeNamesYearBuddhistV1: DatetimeNamesYearBuddhistV1,
icu::datetime::provider::names::DatetimeNamesYearChineseV1: DatetimeNamesYearChineseV1,
icu::datetime::provider::names::DatetimeNamesYearCopticV1: DatetimeNamesYearCopticV1,
icu::datetime::provider::names::DatetimeNamesYearDangiV1: DatetimeNamesYearDangiV1,
icu::datetime::provider::names::DatetimeNamesYearEthiopianV1: DatetimeNamesYearEthiopianV1,
icu::datetime::provider::names::DatetimeNamesYearGregorianV1: DatetimeNamesYearGregorianV1,
icu::datetime::provider::names::DatetimeNamesYearHebrewV1: DatetimeNamesYearHebrewV1,
icu::datetime::provider::names::DatetimeNamesYearIndianV1: DatetimeNamesYearIndianV1,
icu::datetime::provider::names::DatetimeNamesYearHijriV1: DatetimeNamesYearHijriV1,
icu::datetime::provider::names::DatetimeNamesYearJapaneseV1: DatetimeNamesYearJapaneseV1,
icu::datetime::provider::names::DatetimeNamesYearPersianV1: DatetimeNamesYearPersianV1,
icu::datetime::provider::names::DatetimeNamesYearRocV1: DatetimeNamesYearRocV1,
icu::datetime::provider::names::DatetimeNamesMonthBuddhistV1: DatetimeNamesMonthBuddhistV1,
icu::datetime::provider::names::DatetimeNamesMonthChineseV1: DatetimeNamesMonthChineseV1,
icu::datetime::provider::names::DatetimeNamesMonthCopticV1: DatetimeNamesMonthCopticV1,
icu::datetime::provider::names::DatetimeNamesMonthDangiV1: DatetimeNamesMonthDangiV1,
icu::datetime::provider::names::DatetimeNamesMonthEthiopianV1: DatetimeNamesMonthEthiopianV1,
icu::datetime::provider::names::DatetimeNamesMonthGregorianV1: DatetimeNamesMonthGregorianV1,
icu::datetime::provider::names::DatetimeNamesMonthHebrewV1: DatetimeNamesMonthHebrewV1,
icu::datetime::provider::names::DatetimeNamesMonthIndianV1: DatetimeNamesMonthIndianV1,
icu::datetime::provider::names::DatetimeNamesMonthHijriV1: DatetimeNamesMonthHijriV1,
icu::datetime::provider::names::DatetimeNamesMonthJapaneseV1: DatetimeNamesMonthJapaneseV1,
icu::datetime::provider::names::DatetimeNamesMonthPersianV1: DatetimeNamesMonthPersianV1,
icu::datetime::provider::names::DatetimeNamesMonthRocV1: DatetimeNamesMonthRocV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsGlueV1: DatetimePatternsGlueV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateBuddhistV1: DatetimePatternsDateBuddhistV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateChineseV1: DatetimePatternsDateChineseV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateCopticV1: DatetimePatternsDateCopticV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateDangiV1: DatetimePatternsDateDangiV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateEthiopianV1: DatetimePatternsDateEthiopianV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateGregorianV1: DatetimePatternsDateGregorianV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateHebrewV1: DatetimePatternsDateHebrewV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateIndianV1: DatetimePatternsDateIndianV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateHijriV1: DatetimePatternsDateHijriV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateJapaneseV1: DatetimePatternsDateJapaneseV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDatePersianV1: DatetimePatternsDatePersianV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsDateRocV1: DatetimePatternsDateRocV1,
icu::datetime::provider::semantic_skeletons::DatetimePatternsTimeV1: DatetimePatternsTimeV1,
#[unstable]
icu::decimal::provider::DecimalCompactLongV1: DecimalCompactLongV1,
icu::decimal::provider::DecimalCompactShortV1: DecimalCompactShortV1,
icu::experimental::dimension::provider::currency::compact::ShortCurrencyCompactV1: ShortCurrencyCompactV1,
icu::experimental::dimension::provider::currency::displayname::CurrencyDisplaynameV1: CurrencyDisplaynameV1,
icu::experimental::dimension::provider::currency::essentials::CurrencyEssentialsV1: CurrencyEssentialsV1,
icu::experimental::dimension::provider::currency::patterns::CurrencyPatternsDataV1: CurrencyPatternsDataV1,
icu::experimental::dimension::provider::currency::extended::CurrencyExtendedDataV1: CurrencyExtendedDataV1,
icu::experimental::dimension::provider::currency::fractions::CurrencyFractionsV1: CurrencyFractionsV1,
icu::experimental::dimension::provider::percent::PercentEssentialsV1: PercentEssentialsV1,
icu::experimental::dimension::provider::units::display_names::UnitsDisplayNamesV1: UnitsDisplayNamesV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesAreaCoreV1: UnitsNamesAreaCoreV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesAreaExtendedV1: UnitsNamesAreaExtendedV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesAreaOutlierV1: UnitsNamesAreaOutlierV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesDurationCoreV1: UnitsNamesDurationCoreV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesDurationExtendedV1: UnitsNamesDurationExtendedV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesDurationOutlierV1: UnitsNamesDurationOutlierV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesLengthCoreV1: UnitsNamesLengthCoreV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesLengthExtendedV1: UnitsNamesLengthExtendedV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesLengthOutlierV1: UnitsNamesLengthOutlierV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesMassCoreV1: UnitsNamesMassCoreV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesMassExtendedV1: UnitsNamesMassExtendedV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesMassOutlierV1: UnitsNamesMassOutlierV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesVolumeCoreV1: UnitsNamesVolumeCoreV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesVolumeExtendedV1: UnitsNamesVolumeExtendedV1,
icu::experimental::dimension::provider::units::categorized_display_names::UnitsNamesVolumeOutlierV1: UnitsNamesVolumeOutlierV1,
icu::experimental::dimension::provider::units::essentials::UnitsEssentialsV1: UnitsEssentialsV1,
icu::experimental::duration::provider::DigitalDurationDataV1: DigitalDurationDataV1,
icu::experimental::displaynames::provider::RegionDisplayNamesV1: RegionDisplayNamesV1,
icu::experimental::displaynames::provider::LanguageDisplayNamesV1: LanguageDisplayNamesV1,
icu::experimental::displaynames::provider::LocaleDisplayNamesV1: LocaleDisplayNamesV1,
icu::experimental::displaynames::provider::ScriptDisplayNamesV1: ScriptDisplayNamesV1,
icu::experimental::displaynames::provider::VariantDisplayNamesV1: VariantDisplayNamesV1,
icu::experimental::displaynames::provider::LocaleNamesRegionLongV1: LocaleNamesRegionLongV1,
icu::experimental::displaynames::provider::LocaleNamesRegionShortV1: LocaleNamesRegionShortV1,
icu::experimental::displaynames::provider::LocaleNamesLanguageLongV1: LocaleNamesLanguageLongV1,
icu::experimental::displaynames::provider::LocaleNamesLanguageShortV1: LocaleNamesLanguageShortV1,
icu::experimental::displaynames::provider::LocaleNamesLanguageMenuLongV1: LocaleNamesLanguageMenuLongV1,
icu::experimental::displaynames::provider::LocaleNamesScriptLongV1: LocaleNamesScriptLongV1,
icu::experimental::displaynames::provider::LocaleNamesScriptShortV1: LocaleNamesScriptShortV1,
icu::experimental::displaynames::provider::LocaleNamesVariantLongV1: LocaleNamesVariantLongV1,
icu::experimental::displaynames::provider::LocaleNamesVariantShortV1: LocaleNamesVariantShortV1,
icu::experimental::measure::provider::UnitIdsV1: UnitIdsV1,
icu::experimental::relativetime::provider::LongSecondRelativeV1: LongSecondRelativeV1,
icu::experimental::relativetime::provider::ShortSecondRelativeV1: ShortSecondRelativeV1,
icu::experimental::relativetime::provider::NarrowSecondRelativeV1: NarrowSecondRelativeV1,
icu::experimental::relativetime::provider::LongMinuteRelativeV1: LongMinuteRelativeV1,
icu::experimental::relativetime::provider::ShortMinuteRelativeV1: ShortMinuteRelativeV1,
icu::experimental::relativetime::provider::NarrowMinuteRelativeV1: NarrowMinuteRelativeV1,
icu::experimental::relativetime::provider::LongHourRelativeV1: LongHourRelativeV1,
icu::experimental::relativetime::provider::ShortHourRelativeV1: ShortHourRelativeV1,
icu::experimental::relativetime::provider::NarrowHourRelativeV1: NarrowHourRelativeV1,
icu::experimental::relativetime::provider::LongDayRelativeV1: LongDayRelativeV1,
icu::experimental::relativetime::provider::ShortDayRelativeV1: ShortDayRelativeV1,
icu::experimental::relativetime::provider::NarrowDayRelativeV1: NarrowDayRelativeV1,
icu::experimental::relativetime::provider::LongWeekRelativeV1: LongWeekRelativeV1,
icu::experimental::relativetime::provider::ShortWeekRelativeV1: ShortWeekRelativeV1,
icu::experimental::relativetime::provider::NarrowWeekRelativeV1: NarrowWeekRelativeV1,
icu::experimental::relativetime::provider::LongMonthRelativeV1: LongMonthRelativeV1,
icu::experimental::relativetime::provider::ShortMonthRelativeV1: ShortMonthRelativeV1,
icu::experimental::relativetime::provider::NarrowMonthRelativeV1: NarrowMonthRelativeV1,
icu::experimental::relativetime::provider::LongQuarterRelativeV1: LongQuarterRelativeV1,
icu::experimental::relativetime::provider::ShortQuarterRelativeV1: ShortQuarterRelativeV1,
icu::experimental::relativetime::provider::NarrowQuarterRelativeV1: NarrowQuarterRelativeV1,
icu::experimental::relativetime::provider::LongYearRelativeV1: LongYearRelativeV1,
icu::experimental::relativetime::provider::ShortYearRelativeV1: ShortYearRelativeV1,
icu::experimental::relativetime::provider::NarrowYearRelativeV1: NarrowYearRelativeV1,
icu::experimental::personnames::provider::PersonNamesFormatV1: PersonNamesFormatV1,
icu::experimental::transliterate::provider::TransliteratorRulesV1: TransliteratorRulesV1,
icu::experimental::units::provider::UnitsInfoV1: UnitsInfoV1,
icu::plurals::provider::PluralsRangesV1: PluralsRangesV1,
icu::segmenter::provider::SegmenterUnihanRadicalV1: SegmenterUnihanRadicalV1,
);
}
);
macro_rules! cb {
($($marker_ty:ty:$marker:ident,)+ #[unstable] $($emarker_ty:ty:$emarker:ident,)+) => {
#[test]
fn no_marker_collisions() {
use icu_provider::prelude::*;
let mut map = std::collections::BTreeMap::new();
let mut failed = false;
for marker in [
$(
<$marker_ty>::INFO,
)+
$(
<$emarker_ty>::INFO,
)+
] {
if let Some(colliding_marker) = map.insert(marker.id.hashed(), marker) {
println!(
"{:?} and {:?} collide at {:?}",
marker.id,
colliding_marker.id,
marker.id.hashed(),
);
failed = true;
}
}
if failed {
panic!();
}
}
}
}
registry!(cb);