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 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§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
.impl<T> ErasedDestructor for Twhere
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