#[repr(transparent)]pub struct Leaf<T: ?Sized>(pub T);
Expand description
Serialize
/Deserialize
/Any
leaf
This wraps Serialize
, Deserialize
, and Any
into Tree
a leaf node.
use miniconf::{json_core, Leaf, Tree};
let mut s = Leaf(0);
json_core::set(&mut s, "", b"7").unwrap();
assert!(matches!(*s, 7));
Tuple Fields§
§0: T
Trait Implementations§
Source§impl<'de, T> Deserialize<'de> for Leaf<T>where
T: Deserialize<'de> + ?Sized,
impl<'de, T> Deserialize<'de> for Leaf<T>where
T: Deserialize<'de> + ?Sized,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T: Ord + ?Sized> Ord for Leaf<T>
impl<T: Ord + ?Sized> Ord for Leaf<T>
Source§impl<T: PartialOrd + ?Sized> PartialOrd for Leaf<T>
impl<T: PartialOrd + ?Sized> PartialOrd for Leaf<T>
Source§impl<T: Any> TreeAny for Leaf<T>
impl<T: Any> TreeAny for Leaf<T>
Source§fn ref_any_by_key(&self, keys: impl Keys) -> Result<&dyn Any, ValueError>
fn ref_any_by_key(&self, keys: impl Keys) -> Result<&dyn Any, ValueError>
Obtain a reference to a
dyn Any
trait object for a leaf node.Source§fn mut_any_by_key(
&mut self,
keys: impl Keys,
) -> Result<&mut dyn Any, ValueError>
fn mut_any_by_key( &mut self, keys: impl Keys, ) -> Result<&mut dyn Any, ValueError>
Obtain a mutable reference to a
dyn Any
trait object for a leaf node.Source§fn ref_by_key<T: Any>(&self, keys: impl IntoKeys) -> Result<&T, ValueError>
fn ref_by_key<T: Any>(&self, keys: impl IntoKeys) -> Result<&T, ValueError>
Obtain a reference to a leaf of known type by key.
Source§fn mut_by_key<T: Any>(
&mut self,
keys: impl IntoKeys,
) -> Result<&mut T, ValueError>
fn mut_by_key<T: Any>( &mut self, keys: impl IntoKeys, ) -> Result<&mut T, ValueError>
Obtain a mutable reference to a leaf of known type by key.
Source§impl<'de, T: Deserialize<'de>> TreeDeserialize<'de> for Leaf<T>
impl<'de, T: Deserialize<'de>> TreeDeserialize<'de> for Leaf<T>
Source§fn deserialize_by_key<D: Deserializer<'de>>(
&mut self,
keys: impl Keys,
de: D,
) -> Result<(), SerdeError<D::Error>>
fn deserialize_by_key<D: Deserializer<'de>>( &mut self, keys: impl Keys, de: D, ) -> Result<(), SerdeError<D::Error>>
Deserialize a leaf node by its keys. Read more
Source§fn probe_by_key<D: Deserializer<'de>>(
keys: impl Keys,
de: D,
) -> Result<(), SerdeError<D::Error>>
fn probe_by_key<D: Deserializer<'de>>( keys: impl Keys, de: D, ) -> Result<(), SerdeError<D::Error>>
Blind deserialize a leaf node by its keys. Read more
Source§impl<T: ?Sized> TreeSchema for Leaf<T>
impl<T: ?Sized> TreeSchema for Leaf<T>
Source§impl<T: Serialize + ?Sized> TreeSerialize for Leaf<T>
impl<T: Serialize + ?Sized> TreeSerialize for Leaf<T>
Source§fn serialize_by_key<S: Serializer>(
&self,
keys: impl Keys,
ser: S,
) -> Result<S::Ok, SerdeError<S::Error>>
fn serialize_by_key<S: Serializer>( &self, keys: impl Keys, ser: S, ) -> Result<S::Ok, SerdeError<S::Error>>
Serialize a node by keys. Read more
impl<T: Copy + ?Sized> Copy for Leaf<T>
impl<T: Eq + ?Sized> Eq for Leaf<T>
impl<T: ?Sized> StructuralPartialEq for Leaf<T>
Auto Trait Implementations§
impl<T> Freeze for Leaf<T>
impl<T> RefUnwindSafe for Leaf<T>where
T: RefUnwindSafe + ?Sized,
impl<T> Send for Leaf<T>
impl<T> Sync for Leaf<T>
impl<T> Unpin for Leaf<T>
impl<T> UnwindSafe for Leaf<T>where
T: UnwindSafe + ?Sized,
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