#[macro_export]
macro_rules! registry(
($cb:ident) => {
cb!(
icu::calendar::provider::CalendarChineseV1: CalendarChineseV1,
icu::calendar::provider::CalendarDangiV1: CalendarDangiV1,
icu::calendar::provider::CalendarJapaneseModernV1: CalendarJapaneseModernV1,
icu::calendar::provider::CalendarHijriObservationalV1: CalendarHijriObservationalV1,
icu::calendar::provider::CalendarHijriUmmalquraV1: CalendarHijriUmmalquraV1,
icu::calendar::provider::CalendarJapaneseExtendedV1: CalendarJapaneseExtendedV1,
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::LocationsV1: LocationsV1,
icu::datetime::provider::time_zones::LocationsRootV1: LocationsRootV1,
icu::datetime::provider::time_zones::ExemplarCitiesV1: ExemplarCitiesV1,
icu::datetime::provider::time_zones::ExemplarCitiesRootV1: ExemplarCitiesRootV1,
icu::datetime::provider::time_zones::MetazoneGenericNamesLongV1: MetazoneGenericNamesLongV1,
icu::datetime::provider::time_zones::MetazoneStandardNamesLongV1: MetazoneStandardNamesLongV1,
icu::datetime::provider::time_zones::MetazoneGenericNamesShortV1: MetazoneGenericNamesShortV1,
icu::datetime::provider::time_zones::MetazonePeriodV1: MetazonePeriodV1,
icu::datetime::provider::time_zones::MetazoneSpecificNamesLongV1: MetazoneSpecificNamesLongV1,
icu::datetime::provider::time_zones::MetazoneSpecificNamesShortV1: MetazoneSpecificNamesShortV1,
icu::datetime::provider::time_zones::TimeZoneEssentialsV1: TimeZoneEssentialsV1,
icu::time::provider::TimeZoneOffsetsV1: TimeZoneOffsetsV1,
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::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::PropertyNameLongJoiningTypeV1: PropertyNameLongJoiningTypeV1,
icu::properties::provider::PropertyNameLongLineBreakV1: PropertyNameLongLineBreakV1,
icu::properties::provider::PropertyNameLongScriptV1: PropertyNameLongScriptV1,
icu::properties::provider::PropertyNameLongSentenceBreakV1: PropertyNameLongSentenceBreakV1,
icu::properties::provider::PropertyNameLongWordBreakV1: PropertyNameLongWordBreakV1,
icu::properties::provider::PropertyNameParseBidiClassV1: PropertyNameParseBidiClassV1,
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::PropertyNameParseJoiningTypeV1: PropertyNameParseJoiningTypeV1,
icu::properties::provider::PropertyNameParseLineBreakV1: PropertyNameParseLineBreakV1,
icu::properties::provider::PropertyNameParseScriptV1: PropertyNameParseScriptV1,
icu::properties::provider::PropertyNameParseSentenceBreakV1: PropertyNameParseSentenceBreakV1,
icu::properties::provider::PropertyNameParseWordBreakV1: PropertyNameParseWordBreakV1,
icu::properties::provider::PropertyNameShortBidiClassV1: PropertyNameShortBidiClassV1,
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::PropertyNameShortJoiningTypeV1: PropertyNameShortJoiningTypeV1,
icu::properties::provider::PropertyNameShortLineBreakV1: PropertyNameShortLineBreakV1,
icu::properties::provider::PropertyNameShortScriptV1: PropertyNameShortScriptV1,
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::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::PropertyBinaryJoinControlV1: PropertyBinaryJoinControlV1,
icu::properties::provider::PropertyBinaryLogicalOrderExceptionV1: PropertyBinaryLogicalOrderExceptionV1,
icu::properties::provider::PropertyBinaryLowercaseV1: PropertyBinaryLowercaseV1,
icu::properties::provider::PropertyBinaryMathV1: PropertyBinaryMathV1,
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::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::PropertyEnumIndicSyllabicCategoryV1: PropertyEnumIndicSyllabicCategoryV1,
icu::properties::provider::PropertyEnumJoiningTypeV1: PropertyEnumJoiningTypeV1,
icu::properties::provider::PropertyEnumLineBreakV1: PropertyEnumLineBreakV1,
icu::properties::provider::PropertyEnumScriptV1: PropertyEnumScriptV1,
icu::properties::provider::PropertyEnumSentenceBreakV1: PropertyEnumSentenceBreakV1,
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::TimeZoneIanaNamesV1: TimeZoneIanaNamesV1,
icu::time::provider::iana::TimeZoneIanaMapV1: TimeZoneIanaMapV1,
icu::time::provider::windows::TimeZoneWindowsV1: TimeZoneWindowsV1,
icu::datetime::provider::neo::WeekdayNamesV1: WeekdayNamesV1,
icu::datetime::provider::neo::DayPeriodNamesV1: DayPeriodNamesV1,
icu::datetime::provider::neo::GluePatternV1: GluePatternV1,
icu::datetime::provider::neo::BuddhistYearNamesV1: BuddhistYearNamesV1,
icu::datetime::provider::neo::ChineseYearNamesV1: ChineseYearNamesV1,
icu::datetime::provider::neo::CopticYearNamesV1: CopticYearNamesV1,
icu::datetime::provider::neo::DangiYearNamesV1: DangiYearNamesV1,
icu::datetime::provider::neo::EthiopianYearNamesV1: EthiopianYearNamesV1,
icu::datetime::provider::neo::GregorianYearNamesV1: GregorianYearNamesV1,
icu::datetime::provider::neo::HebrewYearNamesV1: HebrewYearNamesV1,
icu::datetime::provider::neo::IndianYearNamesV1: IndianYearNamesV1,
icu::datetime::provider::neo::HijriYearNamesV1: HijriYearNamesV1,
icu::datetime::provider::neo::JapaneseYearNamesV1: JapaneseYearNamesV1,
icu::datetime::provider::neo::JapaneseExtendedYearNamesV1: JapaneseExtendedYearNamesV1,
icu::datetime::provider::neo::PersianYearNamesV1: PersianYearNamesV1,
icu::datetime::provider::neo::RocYearNamesV1: RocYearNamesV1,
icu::datetime::provider::neo::BuddhistMonthNamesV1: BuddhistMonthNamesV1,
icu::datetime::provider::neo::ChineseMonthNamesV1: ChineseMonthNamesV1,
icu::datetime::provider::neo::CopticMonthNamesV1: CopticMonthNamesV1,
icu::datetime::provider::neo::DangiMonthNamesV1: DangiMonthNamesV1,
icu::datetime::provider::neo::EthiopianMonthNamesV1: EthiopianMonthNamesV1,
icu::datetime::provider::neo::GregorianMonthNamesV1: GregorianMonthNamesV1,
icu::datetime::provider::neo::HebrewMonthNamesV1: HebrewMonthNamesV1,
icu::datetime::provider::neo::IndianMonthNamesV1: IndianMonthNamesV1,
icu::datetime::provider::neo::HijriMonthNamesV1: HijriMonthNamesV1,
icu::datetime::provider::neo::JapaneseMonthNamesV1: JapaneseMonthNamesV1,
icu::datetime::provider::neo::JapaneseExtendedMonthNamesV1: JapaneseExtendedMonthNamesV1,
icu::datetime::provider::neo::PersianMonthNamesV1: PersianMonthNamesV1,
icu::datetime::provider::neo::RocMonthNamesV1: RocMonthNamesV1,
icu::datetime::provider::BuddhistDateNeoSkeletonPatternsV1: BuddhistDateNeoSkeletonPatternsV1,
icu::datetime::provider::ChineseDateNeoSkeletonPatternsV1: ChineseDateNeoSkeletonPatternsV1,
icu::datetime::provider::CopticDateNeoSkeletonPatternsV1: CopticDateNeoSkeletonPatternsV1,
icu::datetime::provider::DangiDateNeoSkeletonPatternsV1: DangiDateNeoSkeletonPatternsV1,
icu::datetime::provider::EthiopianDateNeoSkeletonPatternsV1: EthiopianDateNeoSkeletonPatternsV1,
icu::datetime::provider::GregorianDateNeoSkeletonPatternsV1: GregorianDateNeoSkeletonPatternsV1,
icu::datetime::provider::HebrewDateNeoSkeletonPatternsV1: HebrewDateNeoSkeletonPatternsV1,
icu::datetime::provider::IndianDateNeoSkeletonPatternsV1: IndianDateNeoSkeletonPatternsV1,
icu::datetime::provider::HijriDateNeoSkeletonPatternsV1: HijriDateNeoSkeletonPatternsV1,
icu::datetime::provider::JapaneseDateNeoSkeletonPatternsV1: JapaneseDateNeoSkeletonPatternsV1,
icu::datetime::provider::JapaneseExtendedDateNeoSkeletonPatternsV1: JapaneseExtendedDateNeoSkeletonPatternsV1,
icu::datetime::provider::PersianDateNeoSkeletonPatternsV1: PersianDateNeoSkeletonPatternsV1,
icu::datetime::provider::RocDateNeoSkeletonPatternsV1: RocDateNeoSkeletonPatternsV1,
icu::datetime::provider::TimeNeoSkeletonPatternsV1: TimeNeoSkeletonPatternsV1,
#[experimental]
icu::experimental::compactdecimal::provider::LongCompactDecimalFormatDataV1: LongCompactDecimalFormatDataV1,
icu::experimental::compactdecimal::provider::ShortCompactDecimalFormatDataV1: ShortCompactDecimalFormatDataV1,
icu::experimental::dimension::provider::currency_compact::ShortCurrencyCompactV1: ShortCurrencyCompactV1,
icu::experimental::dimension::provider::currency_displayname::CurrencyDisplaynameV1: CurrencyDisplaynameV1,
icu::experimental::dimension::provider::currency::CurrencyEssentialsV1: CurrencyEssentialsV1,
icu::experimental::dimension::provider::currency_patterns::CurrencyPatternsDataV1: CurrencyPatternsDataV1,
icu::experimental::dimension::provider::extended_currency::CurrencyExtendedDataV1: CurrencyExtendedDataV1,
icu::experimental::dimension::provider::percent::PercentEssentialsV1: PercentEssentialsV1,
icu::experimental::dimension::provider::units::UnitsDisplayNameV1: UnitsDisplayNameV1,
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::measure::provider::trie::UnitsTrieV1: UnitsTrieV1,
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,
);
}
);
macro_rules! cb {
($($marker_ty:ty:$marker:ident,)+ #[experimental] $($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);