NeverMarker

Struct NeverMarker 

Source
pub struct NeverMarker<Y>(/* private fields */);
Expand description

A DynamicDataMarker that never returns data.

All types that have non-blanket impls of DataProvider<M> are expected to explicitly implement DataProvider<NeverMarker<Y>>, returning DataErrorKind::MarkerNotFound. See impl_data_provider_never_marker!.

§Examples

use icu_locale_core::langid;
use icu_provider::hello_world::*;
use icu_provider::marker::NeverMarker;
use icu_provider::prelude::*;

let buffer_provider = HelloWorldProvider.into_json_provider();

let result = DataProvider::<NeverMarker<HelloWorld<'static>>>::load(
    &buffer_provider.as_deserializing(),
    DataRequest {
        id: DataIdentifierBorrowed::for_locale(&langid!("en").into()),
        ..Default::default()
    },
);

assert!(matches!(
    result,
    Err(DataError {
        kind: DataErrorKind::MarkerNotFound,
        ..
    })
));

Trait Implementations§

Source§

impl<Y: Clone> Clone for NeverMarker<Y>

Source§

fn clone(&self) -> NeverMarker<Y>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<Y> DataMarker for NeverMarker<Y>
where for<'a> Y: Yokeable<'a>,

Source§

const INFO: DataMarkerInfo

The single DataMarkerInfo associated with this marker.
Source§

impl<Y: Debug> Debug for NeverMarker<Y>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<Y> DynamicDataMarker for NeverMarker<Y>
where for<'a> Y: Yokeable<'a>,

Source§

type DataStruct = Y

A type that implements Yokeable. This should typically be the 'static version of a data struct.
Source§

impl<Y: Copy> Copy for NeverMarker<Y>

Auto Trait Implementations§

§

impl<Y> Freeze for NeverMarker<Y>

§

impl<Y> RefUnwindSafe for NeverMarker<Y>
where Y: RefUnwindSafe,

§

impl<Y> Send for NeverMarker<Y>
where Y: Send,

§

impl<Y> Sync for NeverMarker<Y>
where Y: Sync,

§

impl<Y> Unpin for NeverMarker<Y>
where Y: Unpin,

§

impl<Y> UnwindSafe for NeverMarker<Y>
where Y: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<M> DataMarkerExt for M
where M: DataMarker,

Source§

fn bind<P>(provider: P) -> DataProviderWithMarker<M, P>
where P: DataProvider<M>,

Binds a DataMarker to a provider supporting it.
Source§

fn make_locale(locale: LocalePreferences) -> DataLocale

Constructs a DataLocale using fallback preferences from this DataMarker.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 0 bytes