Skip to content

Commit 5e51391

Browse files
authored
Remove Auto and YearWeek variants from enums and data (#5810)
#1317
1 parent 5029ff3 commit 5e51391

File tree

737 files changed

+101
-17406
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

737 files changed

+101
-17406
lines changed

components/datetime/src/neo_skeleton.rs

+2-98
Original file line numberDiff line numberDiff line change
@@ -339,26 +339,6 @@ pub enum NeoDateComponents {
339339
/// The day of the week alone, as in
340340
/// “Saturday”.
341341
Weekday,
342-
/// Fields to represent the day chosen by locale.
343-
///
344-
/// These are the _standard date patterns_ for types "long", "medium", and
345-
/// "short" as defined in [UTS 35]. For "full", use
346-
/// [`AutoWeekday`](NeoDateComponents::AutoWeekday).
347-
///
348-
/// This is often, but not always, the same as
349-
/// [`YearMonthDay`](NeoDateComponents::YearMonthDay).
350-
///
351-
/// [UTS 35]: <https://www.unicode.org/reports/tr35/tr35-dates.html#dateFormats>
352-
Auto,
353-
/// Fields to represent the day chosen by locale, hinting to also include
354-
/// a weekday field.
355-
///
356-
/// This is the _standard date pattern_ for type "full", extended with
357-
/// skeleton data in the short and medium forms.
358-
///
359-
/// This is often, but not always, the same as
360-
/// [`YearMonthDayWeekday`](NeoDateComponents::YearMonthDayWeekday).
361-
AutoWeekday,
362342
}
363343

364344
impl NeoDateComponents {
@@ -371,8 +351,6 @@ impl NeoDateComponents {
371351
Self::MonthDayWeekday,
372352
Self::YearMonthDayWeekday,
373353
Self::Weekday,
374-
Self::Auto,
375-
Self::AutoWeekday,
376354
];
377355

378356
const DAY: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("d");
@@ -386,9 +364,6 @@ impl NeoDateComponents {
386364
const YEAR_MONTH_DAY_WEEKDAY: &'static DataMarkerAttributes =
387365
DataMarkerAttributes::from_str_or_panic("ym0de");
388366
const WEEKDAY: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("e");
389-
const AUTO: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("a1");
390-
const AUTO_WEEKDAY: &'static DataMarkerAttributes =
391-
DataMarkerAttributes::from_str_or_panic("a1e");
392367

393368
// For matching
394369
const DAY_STR: &'static str = Self::DAY.as_str();
@@ -398,8 +373,6 @@ impl NeoDateComponents {
398373
const MONTH_DAY_WEEKDAY_STR: &'static str = Self::MONTH_DAY_WEEKDAY.as_str();
399374
const YEAR_MONTH_DAY_WEEKDAY_STR: &'static str = Self::YEAR_MONTH_DAY_WEEKDAY.as_str();
400375
const WEEKDAY_STR: &'static str = Self::WEEKDAY.as_str();
401-
const AUTO_STR: &'static str = Self::AUTO.as_str();
402-
const AUTO_WEEKDAY_STR: &'static str = Self::AUTO_WEEKDAY.as_str();
403376

404377
/// Returns a stable string identifying this set of components.
405378
///
@@ -410,7 +383,6 @@ impl NeoDateComponents {
410383
/// 1. Lowercase letters are chosen where there is no ambiguity: `G` becomes `g`\*
411384
/// 2. Capitals are replaced with their lowercase and a number 0: `M` becomes `m0`
412385
/// 3. A single symbol is included for each component: length doesn't matter
413-
/// 4. The "auto" style is represented as `a1`
414386
///
415387
/// \* `g` represents a different field, but it is never used in skeleta.
416388
///
@@ -433,8 +405,6 @@ impl NeoDateComponents {
433405
Self::MonthDayWeekday => Self::MONTH_DAY_WEEKDAY,
434406
Self::YearMonthDayWeekday => Self::YEAR_MONTH_DAY_WEEKDAY,
435407
Self::Weekday => Self::WEEKDAY,
436-
Self::Auto => Self::AUTO,
437-
Self::AutoWeekday => Self::AUTO_WEEKDAY,
438408
}
439409
}
440410

@@ -462,8 +432,6 @@ impl NeoDateComponents {
462432
Self::MONTH_DAY_WEEKDAY_STR => Some(Self::MonthDayWeekday),
463433
Self::YEAR_MONTH_DAY_WEEKDAY_STR => Some(Self::YearMonthDayWeekday),
464434
Self::WEEKDAY_STR => Some(Self::Weekday),
465-
Self::AUTO_STR => Some(Self::Auto),
466-
Self::AUTO_WEEKDAY_STR => Some(Self::AutoWeekday),
467435
_ => None,
468436
}
469437
}
@@ -478,8 +446,6 @@ impl NeoDateComponents {
478446
Self::MonthDayWeekday => false,
479447
Self::YearMonthDayWeekday => true,
480448
Self::Weekday => false,
481-
Self::Auto => true,
482-
Self::AutoWeekday => true,
483449
}
484450
}
485451

@@ -493,8 +459,6 @@ impl NeoDateComponents {
493459
Self::MonthDayWeekday => true,
494460
Self::YearMonthDayWeekday => true,
495461
Self::Weekday => false,
496-
Self::Auto => true,
497-
Self::AutoWeekday => true,
498462
}
499463
}
500464

@@ -508,8 +472,6 @@ impl NeoDateComponents {
508472
Self::MonthDayWeekday => true,
509473
Self::YearMonthDayWeekday => true,
510474
Self::Weekday => false,
511-
Self::Auto => true,
512-
Self::AutoWeekday => true,
513475
}
514476
}
515477

@@ -523,8 +485,6 @@ impl NeoDateComponents {
523485
Self::MonthDayWeekday => true,
524486
Self::YearMonthDayWeekday => true,
525487
Self::Weekday => true,
526-
Self::Auto => false,
527-
Self::AutoWeekday => true,
528488
}
529489
}
530490

@@ -559,27 +519,22 @@ pub enum NeoCalendarPeriodComponents {
559519
/// A year, as in
560520
/// “2000”.
561521
Year,
562-
/// The year and week of the year, as in
563-
/// “52nd week of 1999”.
564-
YearWeek,
565522
// TODO(#501): Consider adding support for Quarter and YearQuarter.
566523
}
567524

568525
impl NeoCalendarPeriodComponents {
569526
/// All values of this enum.
570-
pub const VALUES: &'static [Self] = &[Self::Month, Self::YearMonth, Self::Year, Self::YearWeek];
527+
pub const VALUES: &'static [Self] = &[Self::Month, Self::YearMonth, Self::Year];
571528

572529
const MONTH: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("m0");
573530
const YEAR_MONTH: &'static DataMarkerAttributes =
574531
DataMarkerAttributes::from_str_or_panic("ym0");
575532
const YEAR: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("y");
576-
const YEAR_WEEK: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("y0w");
577533

578534
// For matching
579535
const MONTH_STR: &'static str = Self::MONTH.as_str();
580536
const YEAR_MONTH_STR: &'static str = Self::YEAR_MONTH.as_str();
581537
const YEAR_STR: &'static str = Self::YEAR.as_str();
582-
const YEAR_WEEK_STR: &'static str = Self::YEAR_WEEK.as_str();
583538

584539
/// Returns a stable string identifying this set of components.
585540
///
@@ -589,7 +544,6 @@ impl NeoCalendarPeriodComponents {
589544
Self::Month => Self::MONTH,
590545
Self::YearMonth => Self::YEAR_MONTH,
591546
Self::Year => Self::YEAR,
592-
Self::YearWeek => Self::YEAR_WEEK,
593547
}
594548
}
595549

@@ -601,7 +555,6 @@ impl NeoCalendarPeriodComponents {
601555
Self::MONTH_STR => Some(Self::Month),
602556
Self::YEAR_MONTH_STR => Some(Self::YearMonth),
603557
Self::YEAR_STR => Some(Self::Year),
604-
Self::YEAR_WEEK_STR => Some(Self::YearWeek),
605558
_ => None,
606559
}
607560
}
@@ -612,7 +565,6 @@ impl NeoCalendarPeriodComponents {
612565
Self::Month => false,
613566
Self::YearMonth => true,
614567
Self::Year => true,
615-
Self::YearWeek => true,
616568
}
617569
}
618570

@@ -622,7 +574,6 @@ impl NeoCalendarPeriodComponents {
622574
Self::Month => true,
623575
Self::YearMonth => true,
624576
Self::Year => false,
625-
Self::YearWeek => false,
626577
}
627578
}
628579

@@ -658,30 +609,20 @@ pub enum NeoTimeComponents {
658609
/// A time of day with a 24-hour clock,
659610
/// with the precision chosen by [`TimePrecision`]
660611
Time24,
661-
/// Fields to represent the time chosen by the locale.
662-
///
663-
/// These are the _standard time patterns_ for types "medium" and
664-
/// "short" as defined in [UTS 35]. For "full" and "long", use a
665-
/// formatter that includes a time zone.
666-
///
667-
/// [UTS 35]: <https://www.unicode.org/reports/tr35/tr35-dates.html#dateFormats>
668-
Auto,
669612
}
670613

671614
impl NeoTimeComponents {
672615
/// All values of this enum.
673-
pub const VALUES: &'static [Self] = &[Self::Time, Self::Time12, Self::Time24, Self::Auto];
616+
pub const VALUES: &'static [Self] = &[Self::Time, Self::Time12, Self::Time24];
674617

675618
const HOUR: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("j");
676619
const HOUR12: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("h");
677620
const HOUR24: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("h0");
678-
const AUTO: &'static DataMarkerAttributes = DataMarkerAttributes::from_str_or_panic("a1");
679621

680622
// For matching
681623
const HOUR_STR: &'static str = Self::HOUR.as_str();
682624
const HOUR12_STR: &'static str = Self::HOUR12.as_str();
683625
const HOUR24_STR: &'static str = Self::HOUR24.as_str();
684-
const AUTO_STR: &'static str = Self::AUTO.as_str();
685626

686627
/// Returns a stable string identifying this set of components.
687628
///
@@ -691,7 +632,6 @@ impl NeoTimeComponents {
691632
Self::Time => Self::HOUR,
692633
Self::Time12 => Self::HOUR12,
693634
Self::Time24 => Self::HOUR24,
694-
Self::Auto => Self::AUTO,
695635
}
696636
}
697637

@@ -703,7 +643,6 @@ impl NeoTimeComponents {
703643
Self::HOUR_STR => Some(Self::Time),
704644
Self::HOUR12_STR => Some(Self::Time12),
705645
Self::HOUR24_STR => Some(Self::Time24),
706-
Self::AUTO_STR => Some(Self::Auto),
707646
_ => None,
708647
}
709648
}
@@ -1081,19 +1020,6 @@ impl NeoDateSkeleton {
10811020
year_style: None,
10821021
}
10831022
}
1084-
1085-
/// Converts a [`length::Date`] to a [`NeoDateComponents`] and [`NeoSkeletonLength`].
1086-
#[doc(hidden)] // the types involved in this mapping may change
1087-
#[cfg(feature = "datagen")]
1088-
pub fn from_date_length(date_length: length::Date) -> NeoDateSkeleton {
1089-
let (components, length) = match date_length {
1090-
length::Date::Full => (NeoDateComponents::AutoWeekday, NeoSkeletonLength::Long),
1091-
length::Date::Long => (NeoDateComponents::Auto, NeoSkeletonLength::Long),
1092-
length::Date::Medium => (NeoDateComponents::Auto, NeoSkeletonLength::Medium),
1093-
length::Date::Short => (NeoDateComponents::Auto, NeoSkeletonLength::Short),
1094-
};
1095-
NeoDateSkeleton::for_length_and_components(length, components)
1096-
}
10971023
}
10981024

10991025
/// A skeleton for formatting a calendar period (i.e. month or year).
@@ -1274,25 +1200,3 @@ impl NeoSkeleton {
12741200
}
12751201
}
12761202
}
1277-
1278-
impl NeoDateTimeSkeleton {
1279-
#[doc(hidden)] // mostly internal; maps from old API to new API
1280-
#[cfg(feature = "datagen")]
1281-
pub fn from_date_time_length(
1282-
date_length: crate::options::length::Date,
1283-
time_length: crate::options::length::Time,
1284-
) -> Self {
1285-
let date_skeleton = NeoDateSkeleton::from_date_length(date_length);
1286-
let time_precision = TimePrecision::from_time_length(time_length);
1287-
NeoDateTimeSkeleton {
1288-
length: date_skeleton.length,
1289-
components: NeoDateTimeComponents::DateTime(
1290-
date_skeleton.components,
1291-
NeoTimeComponents::Time,
1292-
),
1293-
alignment: None,
1294-
year_style: None,
1295-
time_precision: Some(time_precision),
1296-
}
1297-
}
1298-
}

provider/data/datetime/data/buddhist_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/chinese_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/coptic_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/dangi_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/ethiopian_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/gregorian_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/hebrew_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/indian_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/islamic_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/japanese_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/japanese_extended_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/persian_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/roc_date_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/time_neo_skeleton_patterns_v1_marker.rs.data

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)