FormattableHijriRules

Trait FormattableHijriRules 

Source
pub trait FormattableHijriRules: Rules + UnstableSealed {
    type YearNamesV1: DataMarker<DataStruct = YearNames<'static>>;
    type MonthNamesV1: DataMarker<DataStruct = MonthNames<'static>>;
    type SkeletaV1: DataMarker<DataStruct = PackedPatterns<'static>>;
}
Expand description

[hijri::Rules]-specific formatting options.

See CldrCalendar.

The simplest implementation of this uses the same names as some provided [hijri::Rules]:

use icu::calendar::cal::hijri;
use icu::datetime::scaffold::FormattableHijriRules;

#[derive(Clone, Debug)]
struct MyRules;

impl icu::calendar::cal::scaffold::UnstableSealed for MyRules {}
impl icu::datetime::scaffold::UnstableSealed for MyRules {}

impl hijri::Rules for MyRules {
    fn year_data(&self, _year: i32) -> hijri::HijriYearData {
        todo!()
    }
}

impl FormattableHijriRules for MyRules {
    type YearNamesV1 =
        <hijri::UmmAlQura as FormattableHijriRules>::YearNamesV1;
    type MonthNamesV1 =
        <hijri::UmmAlQura as FormattableHijriRules>::MonthNamesV1;
    type SkeletaV1 = <hijri::UmmAlQura as FormattableHijriRules>::SkeletaV1;
}

Required Associated Types§

Source

type YearNamesV1: DataMarker<DataStruct = YearNames<'static>>

The data marker for loading year symbols for this calendar.

Source

type MonthNamesV1: DataMarker<DataStruct = MonthNames<'static>>

The data marker for loading month symbols for this calendar.

Source

type SkeletaV1: DataMarker<DataStruct = PackedPatterns<'static>>

The data marker for loading skeleton patterns for this calendar.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§