Skip to content

Commit 02517f7

Browse files
authored
Rename ZonedDateTime::try_from_str to try_full_from_str (#6506)
Part of #6354 Related to #6489 The function's signature and behavior are unintuitive and confusing. If we want to add back `try_from_str`, we can do it later. Let's not waste the name on the current function.
1 parent a393ce7 commit 02517f7

21 files changed

+94
-94
lines changed

components/datetime/src/combo.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ use crate::{provider::neo::*, scaffold::*};
129129
/// )
130130
/// .unwrap();
131131
///
132-
/// let zdt = ZonedDateTime::try_from_str(
132+
/// let zdt = ZonedDateTime::try_full_from_str(
133133
/// "2024-10-18T15:44-0700[America/Los_Angeles]",
134134
/// Gregorian,
135135
/// IanaParser::new(),

components/datetime/src/parts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
//! )
2727
//! .unwrap();
2828
//!
29-
//! let dtz = ZonedDateTime::try_from_str("2023-11-20T11:35:03.5+00:00[Europe/London]", dtf.calendar(), IanaParser::new(), VariantOffsetsCalculator::new()).unwrap();
29+
//! let dtz = ZonedDateTime::try_full_from_str("2023-11-20T11:35:03.5+00:00[Europe/London]", dtf.calendar(), IanaParser::new(), VariantOffsetsCalculator::new()).unwrap();
3030
//!
3131
//! // Missing data is filled in on a best-effort basis, and an error is signaled.
3232
//! assert_writeable_parts_eq!(

components/datetime/src/pattern/formatter.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,14 @@ where
167167
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
168168
/// use writeable::TryWriteable;
169169
///
170-
/// let mut london_winter = ZonedDateTime::try_from_str(
170+
/// let mut london_winter = ZonedDateTime::try_full_from_str(
171171
/// "2024-01-01T00:00:00+00:00[Europe/London]",
172172
/// Gregorian,
173173
/// IanaParser::new(),
174174
/// VariantOffsetsCalculator::new(),
175175
/// )
176176
/// .unwrap();
177-
/// let mut london_summer = ZonedDateTime::try_from_str(
177+
/// let mut london_summer = ZonedDateTime::try_full_from_str(
178178
/// "2024-07-01T00:00:00+01:00[Europe/London]",
179179
/// Gregorian,
180180
/// IanaParser::new(),

components/datetime/src/pattern/names.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ size_test!(
450450
/// // The pattern string contains lots of symbols including "E", "MMM", and "a",
451451
/// // but we did not load any data!
452452
///
453-
/// let mut dtz = ZonedDateTime::try_from_str("2023-11-20T11:35:03+00:00[Europe/London]", Gregorian, IanaParser::new(), VariantOffsetsCalculator::new()).unwrap();
453+
/// let mut dtz = ZonedDateTime::try_full_from_str("2023-11-20T11:35:03+00:00[Europe/London]", Gregorian, IanaParser::new(), VariantOffsetsCalculator::new()).unwrap();
454454
///
455455
/// // Missing data is filled in on a best-effort basis, and an error is signaled.
456456
/// assert_try_writeable_parts_eq!(
@@ -1583,15 +1583,15 @@ impl<C, FSet: DateTimeNamesMarker> FixedCalendarDateTimeNames<C, FSet> {
15831583
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
15841584
/// use writeable::assert_try_writeable_eq;
15851585
///
1586-
/// let mut zone_london_winter = ZonedDateTime::try_from_str(
1586+
/// let mut zone_london_winter = ZonedDateTime::try_full_from_str(
15871587
/// "2024-01-01T00:00:00+00:00[Europe/London]",
15881588
/// Gregorian,
15891589
/// IanaParser::new(),
15901590
/// VariantOffsetsCalculator::new(),
15911591
/// )
15921592
/// .unwrap()
15931593
/// .zone;
1594-
/// let mut zone_london_summer = ZonedDateTime::try_from_str(
1594+
/// let mut zone_london_summer = ZonedDateTime::try_full_from_str(
15951595
/// "2024-07-01T00:00:00+01:00[Europe/London]",
15961596
/// Gregorian,
15971597
/// IanaParser::new(),
@@ -1707,7 +1707,7 @@ impl<C, FSet: DateTimeNamesMarker> FixedCalendarDateTimeNames<C, FSet> {
17071707
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
17081708
/// use writeable::assert_try_writeable_eq;
17091709
///
1710-
/// let mut zone_london_winter = ZonedDateTime::try_from_str(
1710+
/// let mut zone_london_winter = ZonedDateTime::try_full_from_str(
17111711
/// "2024-01-01T00:00:00+00:00[Europe/London]",
17121712
/// Gregorian,
17131713
/// IanaParser::new(),
@@ -1779,7 +1779,7 @@ impl<C, FSet: DateTimeNamesMarker> FixedCalendarDateTimeNames<C, FSet> {
17791779
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
17801780
/// use writeable::assert_try_writeable_eq;
17811781
///
1782-
/// let mut zone_london_winter = ZonedDateTime::try_from_str(
1782+
/// let mut zone_london_winter = ZonedDateTime::try_full_from_str(
17831783
/// "2024-01-01T00:00:00+00:00[Europe/London]",
17841784
/// Gregorian,
17851785
/// IanaParser::new(),
@@ -1856,15 +1856,15 @@ impl<C, FSet: DateTimeNamesMarker> FixedCalendarDateTimeNames<C, FSet> {
18561856
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
18571857
/// use writeable::assert_try_writeable_eq;
18581858
///
1859-
/// let mut zone_london_winter = ZonedDateTime::try_from_str(
1859+
/// let mut zone_london_winter = ZonedDateTime::try_full_from_str(
18601860
/// "2024-01-01T00:00:00+00:00[Europe/London]",
18611861
/// Gregorian,
18621862
/// IanaParser::new(),
18631863
/// VariantOffsetsCalculator::new(),
18641864
/// )
18651865
/// .unwrap()
18661866
/// .zone;
1867-
/// let mut zone_london_summer = ZonedDateTime::try_from_str(
1867+
/// let mut zone_london_summer = ZonedDateTime::try_full_from_str(
18681868
/// "2024-07-01T00:00:00+01:00[Europe/London]",
18691869
/// Gregorian,
18701870
/// IanaParser::new(),
@@ -1947,15 +1947,15 @@ impl<C, FSet: DateTimeNamesMarker> FixedCalendarDateTimeNames<C, FSet> {
19471947
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
19481948
/// use writeable::assert_try_writeable_eq;
19491949
///
1950-
/// let mut zone_london_winter = ZonedDateTime::try_from_str(
1950+
/// let mut zone_london_winter = ZonedDateTime::try_full_from_str(
19511951
/// "2024-01-01T00:00:00+00:00[Europe/London]",
19521952
/// Gregorian,
19531953
/// IanaParser::new(),
19541954
/// VariantOffsetsCalculator::new(),
19551955
/// )
19561956
/// .unwrap()
19571957
/// .zone;
1958-
/// let mut zone_london_summer = ZonedDateTime::try_from_str(
1958+
/// let mut zone_london_summer = ZonedDateTime::try_full_from_str(
19591959
/// "2024-07-01T00:00:00+01:00[Europe/London]",
19601960
/// Gregorian,
19611961
/// IanaParser::new(),
@@ -2042,15 +2042,15 @@ impl<C, FSet: DateTimeNamesMarker> FixedCalendarDateTimeNames<C, FSet> {
20422042
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
20432043
/// use writeable::assert_try_writeable_eq;
20442044
///
2045-
/// let mut zone_london_winter = ZonedDateTime::try_from_str(
2045+
/// let mut zone_london_winter = ZonedDateTime::try_full_from_str(
20462046
/// "2024-01-01T00:00:00+00:00[Europe/London]",
20472047
/// Gregorian,
20482048
/// IanaParser::new(),
20492049
/// VariantOffsetsCalculator::new(),
20502050
/// )
20512051
/// .unwrap()
20522052
/// .zone;
2053-
/// let mut zone_london_summer = ZonedDateTime::try_from_str(
2053+
/// let mut zone_london_summer = ZonedDateTime::try_full_from_str(
20542054
/// "2024-07-01T00:00:00+01:00[Europe/London]",
20552055
/// Gregorian,
20562056
/// IanaParser::new(),
@@ -2129,15 +2129,15 @@ impl<C, FSet: DateTimeNamesMarker> FixedCalendarDateTimeNames<C, FSet> {
21292129
/// use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
21302130
/// use writeable::assert_try_writeable_eq;
21312131
///
2132-
/// let mut zone_london_winter = ZonedDateTime::try_from_str(
2132+
/// let mut zone_london_winter = ZonedDateTime::try_full_from_str(
21332133
/// "2024-01-01T00:00:00+00:00[Europe/London]",
21342134
/// Gregorian,
21352135
/// IanaParser::new(),
21362136
/// VariantOffsetsCalculator::new(),
21372137
/// )
21382138
/// .unwrap()
21392139
/// .zone;
2140-
/// let mut zone_london_summer = ZonedDateTime::try_from_str(
2140+
/// let mut zone_london_summer = ZonedDateTime::try_full_from_str(
21412141
/// "2024-07-01T00:00:00+01:00[Europe/London]",
21422142
/// Gregorian,
21432143
/// IanaParser::new(),

components/datetime/tests/mock.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use icu_time::{
3131
pub fn parse_zoned_gregorian_from_str(
3232
input: &str,
3333
) -> ZonedDateTime<Gregorian, TimeZoneInfo<models::Full>> {
34-
match ZonedDateTime::try_from_str(
34+
match ZonedDateTime::try_full_from_str(
3535
input,
3636
Gregorian,
3737
IanaParser::new(),

components/icu/examples/chrono_jiff.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ fn main() {
2626
.with_timezone(&"Asia/Tokyo".parse().unwrap()),
2727
);
2828

29-
let from_ixdtf = ZonedDateTime::try_from_str(
29+
let from_ixdtf = ZonedDateTime::try_full_from_str(
3030
"2024-09-11T08:37:20.123456789+09:00[Asia/Tokyo]",
3131
Iso,
3232
IanaParser::new(),

components/time/src/ixdtf.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ impl<A: AsCalendar> ZonedDateTime<A, TimeZoneInfo<models::AtTime>> {
407407
/// neither. If the named time zone is missing, it is returned as Etc/Unknown.
408408
///
409409
/// The zone variant is _not_ calculated with this function. If you need it, use
410-
/// [`Self::try_from_str`].
410+
/// [`Self::try_full_from_str`].
411411
pub fn try_lenient_from_str(
412412
rfc_9557_str: &str,
413413
calendar: A,
@@ -454,7 +454,7 @@ impl<A: AsCalendar> ZonedDateTime<A, TimeZoneInfo<models::Full>> {
454454
/// };
455455
/// use icu::locale::subtags::subtag;
456456
///
457-
/// let zoneddatetime = ZonedDateTime::try_from_str(
457+
/// let zoneddatetime = ZonedDateTime::try_full_from_str(
458458
/// "2024-08-08T12:08:19-05:00[America/Chicago][u-ca=hebrew]",
459459
/// Hebrew,
460460
/// IanaParser::new(),
@@ -561,7 +561,7 @@ impl<A: AsCalendar> ZonedDateTime<A, TimeZoneInfo<models::Full>> {
561561
/// use icu::time::{TimeZoneInfo, ZonedDateTime, TimeZone, ParseError, zone::{UtcOffset, TimeZoneVariant, IanaParser, VariantOffsetsCalculator}};
562562
/// use icu::locale::subtags::subtag;
563563
///
564-
/// let consistent_tz_from_both = ZonedDateTime::try_from_str("2024-08-08T12:08:19-05:00[America/Chicago]", Iso, IanaParser::new(), VariantOffsetsCalculator::new()).unwrap();
564+
/// let consistent_tz_from_both = ZonedDateTime::try_full_from_str("2024-08-08T12:08:19-05:00[America/Chicago]", Iso, IanaParser::new(), VariantOffsetsCalculator::new()).unwrap();
565565
///
566566
///
567567
/// assert_eq!(consistent_tz_from_both.zone.id(), TimeZone(subtag!("uschi")));
@@ -573,15 +573,15 @@ impl<A: AsCalendar> ZonedDateTime<A, TimeZoneInfo<models::Full>> {
573573
/// // time zone or the offset are wrong.
574574
/// // The only valid way to display this zoned datetime is "GMT-5", so we drop the time zone.
575575
/// assert_eq!(
576-
/// ZonedDateTime::try_from_str("2024-08-08T12:08:19-05:00[America/Los_Angeles]", Iso, IanaParser::new(), VariantOffsetsCalculator::new())
576+
/// ZonedDateTime::try_full_from_str("2024-08-08T12:08:19-05:00[America/Los_Angeles]", Iso, IanaParser::new(), VariantOffsetsCalculator::new())
577577
/// .unwrap().zone.id(),
578578
/// TimeZone::unknown()
579579
/// );
580580
///
581581
/// // We don't know that America/Los_Angeles didn't use standard time (-08:00) in August, but we have a
582582
/// // name for Los Angeles at -8 (Pacific Standard Time), so this parses successfully.
583583
/// assert!(
584-
/// ZonedDateTime::try_from_str("2024-08-08T12:08:19-08:00[America/Los_Angeles]", Iso, IanaParser::new(), VariantOffsetsCalculator::new()).is_ok()
584+
/// ZonedDateTime::try_full_from_str("2024-08-08T12:08:19-08:00[America/Los_Angeles]", Iso, IanaParser::new(), VariantOffsetsCalculator::new()).is_ok()
585585
/// );
586586
/// ```
587587
///
@@ -617,13 +617,13 @@ impl<A: AsCalendar> ZonedDateTime<A, TimeZoneInfo<models::Full>> {
617617
/// Err(ParseError::InconsistentTimeUtcOffsets)
618618
/// ));
619619
/// ```
620-
pub fn try_from_str(
620+
pub fn try_full_from_str(
621621
rfc_9557_str: &str,
622622
calendar: A,
623623
iana_parser: IanaParserBorrowed,
624624
offset_calculator: VariantOffsetsCalculatorBorrowed,
625625
) -> Result<Self, ParseError> {
626-
Self::try_from_utf8(
626+
Self::try_full_from_utf8(
627627
rfc_9557_str.as_bytes(),
628628
calendar,
629629
iana_parser,
@@ -633,8 +633,8 @@ impl<A: AsCalendar> ZonedDateTime<A, TimeZoneInfo<models::Full>> {
633633

634634
/// Create a [`ZonedDateTime`] in any calendar from RFC 9557 UTF-8 bytes.
635635
///
636-
/// See [`Self::try_from_str`].
637-
pub fn try_from_utf8(
636+
/// See [`Self::try_full_from_str`].
637+
pub fn try_full_from_utf8(
638638
rfc_9557_str: &[u8],
639639
calendar: A,
640640
iana_parser: IanaParserBorrowed,

ffi/capi/bindings/c/ZonedDateTime.h

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ffi/capi/bindings/c/ZonedIsoDateTime.h

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ffi/capi/bindings/cpp/icu4x/ZonedDateTime.d.hpp

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)