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 duplicate 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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