pub struct SerdeDFA<'data> { /* private fields */ }
Expand description
A serde-compatible version of [regex_automata::dfa::sparse::DFA].
This does not implement
serde::Deserialize
directly, as binary deserialization is not supported in big-endian
platforms. Self::maybe_deserialize
can be used to deserialize to Option<SerdeDFA>
.
๐ง This code is considered unstable; it may change at any time, in breaking or non-breaking ways,
including in SemVer minor releases. While the serde representation of data structs is guaranteed
to be stable, their Rust representation might not be. Use with caution.
Implementationsยง
sourceยงimpl<'data> SerdeDFA<'data>
impl<'data> SerdeDFA<'data>
sourcepub fn maybe_deserialize<'de: 'data, D>(
deserializer: D,
) -> Result<Option<Self>, D::Error>where
D: Deserializer<'de>,
pub fn maybe_deserialize<'de: 'data, D>(
deserializer: D,
) -> Result<Option<Self>, D::Error>where
D: Deserializer<'de>,
Deserializes to Option<Self>
. Will return None
for non-human-readable serialization
formats on big-endian systems, as regex_automata
serialization is endian-sensitive.
sourceยงimpl<'data> SerdeDFA<'data>
impl<'data> SerdeDFA<'data>
sourcepub const unsafe fn from_dfa_bytes_unchecked(dfa_bytes: &'data [u8]) -> Self
pub const unsafe fn from_dfa_bytes_unchecked(dfa_bytes: &'data [u8]) -> Self
Creates a SerdeDFA
from raw bytes. Used internally by databake.
ยงSafety
dfa_bytes
has to be a valid DFA (regex_automata::dfa::sparse::DFA::from_bytes(dfa_bytes).is_ok())
Trait Implementationsยง
sourceยงimpl<'a> Yokeable<'a> for SerdeDFA<'static>
impl<'a> Yokeable<'a> for SerdeDFA<'static>
sourceยงtype Output = SerdeDFA<'a>
type Output = SerdeDFA<'a>
This type MUST be
Self
with the 'static
replaced with 'a
, i.e. Self<'a>
sourceยงfn transform_owned(self) -> Self::Output
fn transform_owned(self) -> Self::Output
sourceยงunsafe fn make(this: Self::Output) -> Self
unsafe fn make(this: Self::Output) -> Self
This method can be used to cast away
Self<'a>
โs lifetime. Read moresourceยงfn transform_mut<F>(&'a mut self, f: F)where
F: 'static + for<'b> FnOnce(&'b mut Self::Output),
fn transform_mut<F>(&'a mut self, f: F)where
F: 'static + for<'b> FnOnce(&'b mut Self::Output),
This method must cast
self
between &'a mut Self<'static>
and &'a mut Self<'a>
,
and pass it to f
. Read moreAuto Trait Implementationsยง
impl<'data> Freeze for SerdeDFA<'data>
impl<'data> RefUnwindSafe for SerdeDFA<'data>
impl<'data> Send for SerdeDFA<'data>
impl<'data> Sync for SerdeDFA<'data>
impl<'data> Unpin for SerdeDFA<'data>
impl<'data> UnwindSafe for SerdeDFA<'data>
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ยงunsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
๐ฌThis is a nightly-only experimental API. (
clone_to_uninit
)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