pub struct FixedCalendarDateRangeFormatter<C: CldrCalendar, FSet: DateTimeNamesMarker> { /* private fields */ }Expand description
A formatter capable of formatting date/time ranges for a specific calendar.
This formatter is statically typed to a specific calendar C. It is highly optimized
and avoids the overhead of dynamic calendar conversion, but can only format dates
that are in the calendar C (or can be statically converted to it).
§Examples
use icu::calendar::Date;
use icu::datetime::input::{DateTime, Time};
use icu::datetime::fieldsets::YMD;
use icu::datetime::range::FixedCalendarDateRangeFormatter;
use icu::locale::locale;
use writeable::assert_writeable_eq;
let fmt = FixedCalendarDateRangeFormatter::try_new(
locale!("en").into(),
YMD::medium(),
)
.unwrap();
let start = DateTime {
date: Date::try_new_gregorian(2023, 12, 22).unwrap(),
time: Time::try_new(9, 0, 0, 0).unwrap(),
};
let end = DateTime {
date: Date::try_new_gregorian(2023, 12, 23).unwrap(),
time: Time::try_new(17, 0, 0, 0).unwrap(),
};
// English medium YMD day-difference range uses thin spaces (\u{2009}) around en-dash:
assert_writeable_eq!(
fmt.format(&start, &end),
"Dec 22\u{2009}–\u{2009}23, 2023"
);Implementations§
Source§impl<C: CldrCalendar, FSet> FixedCalendarDateRangeFormatter<C, FSet>where
FSet::D: TypedDateDataMarkers<C>,
FSet::T: TimeMarkers,
FSet::Z: ZoneMarkers,
FSet: GetField<CompositeFieldSet> + DateTimeMarkers + Clone,
impl<C: CldrCalendar, FSet> FixedCalendarDateRangeFormatter<C, FSet>where
FSet::D: TypedDateDataMarkers<C>,
FSet::T: TimeMarkers,
FSet::Z: ZoneMarkers,
FSet: GetField<CompositeFieldSet> + DateTimeMarkers + Clone,
Sourcepub fn try_new_unstable<P>(
provider: &P,
prefs: DateTimeFormatterPreferences,
field_set_with_options: FSet,
) -> Result<Self, DateTimeFormatterLoadError>where
P: ?Sized + AllFixedCalendarFormattingDataMarkers<C, FSet> + AllFixedCalendarExternalDataMarkers + AllFixedCalendarRangePatternDataMarkers<C, FSet>,
pub fn try_new_unstable<P>(
provider: &P,
prefs: DateTimeFormatterPreferences,
field_set_with_options: FSet,
) -> Result<Self, DateTimeFormatterLoadError>where
P: ?Sized + AllFixedCalendarFormattingDataMarkers<C, FSet> + AllFixedCalendarExternalDataMarkers + AllFixedCalendarRangePatternDataMarkers<C, FSet>,
A version of Self::try_new that uses custom data provided by a DataProvider.
Sourcepub fn try_new(
prefs: DateTimeFormatterPreferences,
field_set_with_options: FSet,
) -> Result<Self, DateTimeFormatterLoadError>where
Baked: AllFixedCalendarFormattingDataMarkers<C, FSet> + AllFixedCalendarRangePatternDataMarkers<C, FSet>,
pub fn try_new(
prefs: DateTimeFormatterPreferences,
field_set_with_options: FSet,
) -> Result<Self, DateTimeFormatterLoadError>where
Baked: AllFixedCalendarFormattingDataMarkers<C, FSet> + AllFixedCalendarRangePatternDataMarkers<C, FSet>,
Constructor using compiled data.
✨ Enabled with the compiled_data Cargo feature.
Sourcepub fn try_new_with_buffer_provider<P>(
provider: &P,
prefs: DateTimeFormatterPreferences,
field_set_with_options: FSet,
) -> Result<Self, DateTimeFormatterLoadError>where
P: BufferProvider + ?Sized,
pub fn try_new_with_buffer_provider<P>(
provider: &P,
prefs: DateTimeFormatterPreferences,
field_set_with_options: FSet,
) -> Result<Self, DateTimeFormatterLoadError>where
P: BufferProvider + ?Sized,
A version of Self::try_new that uses custom data provided by a BufferProvider.
✨ Enabled with the serde Cargo feature.
Sourcepub fn cast_into_fset<FSet2: DateTimeNamesFrom<FSet>>(
self,
) -> FixedCalendarDateRangeFormatter<C, FSet2>
pub fn cast_into_fset<FSet2: DateTimeNamesFrom<FSet>>( self, ) -> FixedCalendarDateRangeFormatter<C, FSet2>
Casts the field set of this FixedCalendarDateRangeFormatter to a dynamic field set.
Source§impl<C: CldrCalendar, FSet: DateTimeMarkers + DateTimeNamesMarker> FixedCalendarDateRangeFormatter<C, FSet>
impl<C: CldrCalendar, FSet: DateTimeMarkers + DateTimeNamesMarker> FixedCalendarDateRangeFormatter<C, FSet>
Sourcepub fn format<'a, I>(&'a self, start: &I, end: &I) -> FormattedDateRange<'a>
pub fn format<'a, I>(&'a self, start: &I, end: &I) -> FormattedDateRange<'a>
Formats a date/time range.
This method formats the input dates directly, enforcing that they must be in the
statically typed calendar C.
Trait Implementations§
Source§impl<C: Debug + CldrCalendar, FSet: Debug + DateTimeNamesMarker> Debug for FixedCalendarDateRangeFormatter<C, FSet>
impl<C: Debug + CldrCalendar, FSet: Debug + DateTimeNamesMarker> Debug for FixedCalendarDateRangeFormatter<C, FSet>
Auto Trait Implementations§
impl<C, FSet> Freeze for FixedCalendarDateRangeFormatter<C, FSet>where
<<FSet as DateTimeNamesMarker>::YearNames as NamesContainer<ErasedMarker<YearNames<'static>>, YearNameLength>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::MonthNames as NamesContainer<ErasedMarker<MonthNames<'static>>, MonthNameLength>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::WeekdayNames as NamesContainer<DatetimeNamesWeekdayV1, WeekdayNameLength>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DatetimeNamesDayperiodV1, DayPeriodNameLength>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimezoneNamesEssentialsV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<TimezoneNamesLocationsRootV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneLocations as NamesContainer<TimezoneNamesLocationsOverrideV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<TimezoneNamesCitiesRootV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<TimezoneNamesCitiesOverrideV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<TimezoneNamesGenericLongV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<TimezoneNamesGenericShortV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<TimezoneNamesStandardLongV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<TimezoneNamesSpecificLongV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<TimezoneNamesSpecificShortV1, ()>>::Container: Freeze,
<<FSet as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<TimezonePeriodsV1, ()>>::Container: Freeze,
impl<C, FSet> RefUnwindSafe for FixedCalendarDateRangeFormatter<C, FSet>where
<<FSet as DateTimeNamesMarker>::YearNames as NamesContainer<ErasedMarker<YearNames<'static>>, YearNameLength>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::MonthNames as NamesContainer<ErasedMarker<MonthNames<'static>>, MonthNameLength>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::WeekdayNames as NamesContainer<DatetimeNamesWeekdayV1, WeekdayNameLength>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DatetimeNamesDayperiodV1, DayPeriodNameLength>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimezoneNamesEssentialsV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<TimezoneNamesLocationsRootV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneLocations as NamesContainer<TimezoneNamesLocationsOverrideV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<TimezoneNamesCitiesRootV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<TimezoneNamesCitiesOverrideV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<TimezoneNamesGenericLongV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<TimezoneNamesGenericShortV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<TimezoneNamesStandardLongV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<TimezoneNamesSpecificLongV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<TimezoneNamesSpecificShortV1, ()>>::Container: RefUnwindSafe,
<<FSet as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<TimezonePeriodsV1, ()>>::Container: RefUnwindSafe,
C: RefUnwindSafe,
FSet: RefUnwindSafe,
impl<C, FSet> Send for FixedCalendarDateRangeFormatter<C, FSet>where
<<FSet as DateTimeNamesMarker>::YearNames as NamesContainer<ErasedMarker<YearNames<'static>>, YearNameLength>>::Container: Send,
<<FSet as DateTimeNamesMarker>::MonthNames as NamesContainer<ErasedMarker<MonthNames<'static>>, MonthNameLength>>::Container: Send,
<<FSet as DateTimeNamesMarker>::WeekdayNames as NamesContainer<DatetimeNamesWeekdayV1, WeekdayNameLength>>::Container: Send,
<<FSet as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DatetimeNamesDayperiodV1, DayPeriodNameLength>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimezoneNamesEssentialsV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<TimezoneNamesLocationsRootV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneLocations as NamesContainer<TimezoneNamesLocationsOverrideV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<TimezoneNamesCitiesRootV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<TimezoneNamesCitiesOverrideV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<TimezoneNamesGenericLongV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<TimezoneNamesGenericShortV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<TimezoneNamesStandardLongV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<TimezoneNamesSpecificLongV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<TimezoneNamesSpecificShortV1, ()>>::Container: Send,
<<FSet as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<TimezonePeriodsV1, ()>>::Container: Send,
C: Send,
FSet: Send,
impl<C, FSet> Sync for FixedCalendarDateRangeFormatter<C, FSet>where
<<FSet as DateTimeNamesMarker>::YearNames as NamesContainer<ErasedMarker<YearNames<'static>>, YearNameLength>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::MonthNames as NamesContainer<ErasedMarker<MonthNames<'static>>, MonthNameLength>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::WeekdayNames as NamesContainer<DatetimeNamesWeekdayV1, WeekdayNameLength>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DatetimeNamesDayperiodV1, DayPeriodNameLength>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimezoneNamesEssentialsV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<TimezoneNamesLocationsRootV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneLocations as NamesContainer<TimezoneNamesLocationsOverrideV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<TimezoneNamesCitiesRootV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<TimezoneNamesCitiesOverrideV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<TimezoneNamesGenericLongV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<TimezoneNamesGenericShortV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<TimezoneNamesStandardLongV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<TimezoneNamesSpecificLongV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<TimezoneNamesSpecificShortV1, ()>>::Container: Sync,
<<FSet as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<TimezonePeriodsV1, ()>>::Container: Sync,
C: Sync,
FSet: Sync,
impl<C, FSet> Unpin for FixedCalendarDateRangeFormatter<C, FSet>where
<<FSet as DateTimeNamesMarker>::YearNames as NamesContainer<ErasedMarker<YearNames<'static>>, YearNameLength>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::MonthNames as NamesContainer<ErasedMarker<MonthNames<'static>>, MonthNameLength>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::WeekdayNames as NamesContainer<DatetimeNamesWeekdayV1, WeekdayNameLength>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DatetimeNamesDayperiodV1, DayPeriodNameLength>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimezoneNamesEssentialsV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<TimezoneNamesLocationsRootV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneLocations as NamesContainer<TimezoneNamesLocationsOverrideV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<TimezoneNamesCitiesRootV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<TimezoneNamesCitiesOverrideV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<TimezoneNamesGenericLongV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<TimezoneNamesGenericShortV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<TimezoneNamesStandardLongV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<TimezoneNamesSpecificLongV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<TimezoneNamesSpecificShortV1, ()>>::Container: Unpin,
<<FSet as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<TimezonePeriodsV1, ()>>::Container: Unpin,
C: Unpin,
FSet: Unpin,
impl<C, FSet> UnsafeUnpin for FixedCalendarDateRangeFormatter<C, FSet>where
<<FSet as DateTimeNamesMarker>::YearNames as NamesContainer<ErasedMarker<YearNames<'static>>, YearNameLength>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::MonthNames as NamesContainer<ErasedMarker<MonthNames<'static>>, MonthNameLength>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::WeekdayNames as NamesContainer<DatetimeNamesWeekdayV1, WeekdayNameLength>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DatetimeNamesDayperiodV1, DayPeriodNameLength>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimezoneNamesEssentialsV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<TimezoneNamesLocationsRootV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneLocations as NamesContainer<TimezoneNamesLocationsOverrideV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<TimezoneNamesCitiesRootV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<TimezoneNamesCitiesOverrideV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<TimezoneNamesGenericLongV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<TimezoneNamesGenericShortV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<TimezoneNamesStandardLongV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<TimezoneNamesSpecificLongV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<TimezoneNamesSpecificShortV1, ()>>::Container: UnsafeUnpin,
<<FSet as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<TimezonePeriodsV1, ()>>::Container: UnsafeUnpin,
impl<C, FSet> UnwindSafe for FixedCalendarDateRangeFormatter<C, FSet>where
<<FSet as DateTimeNamesMarker>::YearNames as NamesContainer<ErasedMarker<YearNames<'static>>, YearNameLength>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::MonthNames as NamesContainer<ErasedMarker<MonthNames<'static>>, MonthNameLength>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::WeekdayNames as NamesContainer<DatetimeNamesWeekdayV1, WeekdayNameLength>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DatetimeNamesDayperiodV1, DayPeriodNameLength>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimezoneNamesEssentialsV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<TimezoneNamesLocationsRootV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneLocations as NamesContainer<TimezoneNamesLocationsOverrideV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<TimezoneNamesCitiesRootV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<TimezoneNamesCitiesOverrideV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<TimezoneNamesGenericLongV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<TimezoneNamesGenericShortV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<TimezoneNamesStandardLongV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<TimezoneNamesSpecificLongV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<TimezoneNamesSpecificShortV1, ()>>::Container: UnwindSafe,
<<FSet as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<TimezonePeriodsV1, ()>>::Container: UnwindSafe,
C: UnwindSafe,
FSet: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more