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>
 
impl<Y: Clone> Clone for NeverMarker<Y>
Source§fn clone(&self) -> NeverMarker<Y>
 
fn clone(&self) -> NeverMarker<Y>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl<Y> DataMarker for NeverMarker<Y>where
    for<'a> Y: Yokeable<'a>,
 
impl<Y> DataMarker for NeverMarker<Y>where
    for<'a> Y: Yokeable<'a>,
Source§const INFO: DataMarkerInfo
 
const INFO: DataMarkerInfo
The single 
DataMarkerInfo associated with this marker.Source§impl<Y: Debug> Debug for NeverMarker<Y>
 
impl<Y: Debug> Debug for NeverMarker<Y>
Source§impl<Y> DynamicDataMarker for NeverMarker<Y>where
    for<'a> Y: Yokeable<'a>,
 
impl<Y> DynamicDataMarker for NeverMarker<Y>where
    for<'a> Y: Yokeable<'a>,
Source§type DataStruct = Y
 
type DataStruct = Y
A type that implements 
Yokeable. This should typically be the 'static version of a
data struct.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> 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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<M> DataMarkerExt for Mwhere
    M: DataMarker,
 
impl<M> DataMarkerExt for Mwhere
    M: DataMarker,
Source§fn bind<P>(provider: P) -> DataProviderWithMarker<M, P>where
    P: DataProvider<M>,
 
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
 
fn make_locale(locale: LocalePreferences) -> DataLocale
Constructs a 
DataLocale using fallback preferences from this DataMarker.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>
Converts 
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>
Converts 
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