pub struct NeverMarker<Y>(/* private fields */);Expand description
A DataMarker that never returns data.
All types that have non-blanket impls of DataProvider<M> are expected to explicitly
implement DataProvider<NeverMarker<Y>>, returning DataErrorKind::MissingDataKey.
See impl_data_provider_never_marker!.
§Examples
use icu_locid::langid;
use icu_provider::hello_world::*;
use icu_provider::prelude::*;
use icu_provider::NeverMarker;
let buffer_provider = HelloWorldProvider.into_json_provider();
let result = DataProvider::<NeverMarker<HelloWorldV1<'static>>>::load(
    &buffer_provider.as_deserializing(),
    DataRequest {
        locale: &langid!("en").into(),
        metadata: Default::default(),
    },
);
assert!(matches!(
    result,
    Err(DataError {
        kind: DataErrorKind::MissingDataKey,
        ..
    })
));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§impl<Y: Debug> Debug for NeverMarker<Y>
 
impl<Y: Debug> Debug for NeverMarker<Y>
Source§impl<Y> KeyedDataMarker for NeverMarker<Y>where
    for<'a> Y: Yokeable<'a>,
 
impl<Y> KeyedDataMarker for NeverMarker<Y>where
    for<'a> Y: Yokeable<'a>,
Source§fn bind<P>(provider: P) -> DataProviderWithKey<Self, P>where
    P: DataProvider<Self>,
    Self: Sized,
 
fn bind<P>(provider: P) -> DataProviderWithKey<Self, P>where
    P: DataProvider<Self>,
    Self: Sized,
Binds this 
KeyedDataMarker to a provider supporting it.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