Struct NeverMarker

struct NeverMarker<Y>(_)

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,
        ..
    })
));

Implementations

impl<M> DataMarkerExt for NeverMarker<Y>

fn bind<P>(provider: P) -> DataProviderWithMarker<M, P>
where
    P: DataProvider<M>
fn make_locale(locale: LocalePreferences) -> DataLocale

impl<T> Any for NeverMarker<Y>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for NeverMarker<Y>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for NeverMarker<Y>

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

impl<T> CloneToUninit for NeverMarker<Y>

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

impl<T> ErasedDestructor for NeverMarker<Y>

impl<T> From for NeverMarker<Y>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for NeverMarker<Y>

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for NeverMarker<Y>

fn into(self: Self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom for NeverMarker<Y>

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

impl<T, U> TryInto for NeverMarker<Y>

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

impl<Y> DataMarker for NeverMarker<Y>

impl<Y> DynamicDataMarker for NeverMarker<Y>

impl<Y> Freeze for NeverMarker<Y>

impl<Y> RefUnwindSafe for NeverMarker<Y>

impl<Y> Send for NeverMarker<Y>

impl<Y> Sync for NeverMarker<Y>

impl<Y> Unpin for NeverMarker<Y>

impl<Y> UnsafeUnpin for NeverMarker<Y>

impl<Y> UnwindSafe for NeverMarker<Y>

impl<Y: $crate::clone::Clone> Clone for NeverMarker<Y>

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

impl<Y: $crate::fmt::Debug> Debug for NeverMarker<Y>

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

impl<Y: $crate::marker::Copy> Copy for NeverMarker<Y>