ProtoUnpack

Trait ProtoUnpack 

Source
pub trait ProtoUnpack<T>
where Self: Sized,
{ // Required method fn unpack(value: T) -> Result<Self, Error>; }

Required Methods§

Source

fn unpack(value: T) -> Result<Self, Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ProtoUnpack<Option<Duration>> for Duration

Source§

impl ProtoUnpack<Option<Timestamp>> for DateTime<Utc>

Source§

impl ProtoUnpack<Option<Value>> for Value

Source§

impl ProtoUnpack<bool> for bool

Source§

impl ProtoUnpack<f32> for f32

Source§

fn unpack(value: f32) -> Result<f32>

Source§

impl ProtoUnpack<f64> for f64

Source§

fn unpack(value: f64) -> Result<f64>

Source§

impl ProtoUnpack<i32> for i32

Source§

fn unpack(value: i32) -> Result<i32>

Source§

impl ProtoUnpack<i64> for i64

Source§

fn unpack(value: i64) -> Result<i64>

Source§

impl ProtoUnpack<u32> for u32

Source§

fn unpack(value: u32) -> Result<u32>

Source§

impl ProtoUnpack<u64> for u64

Source§

fn unpack(value: u64) -> Result<u64>

Source§

impl ProtoUnpack<String> for String

Source§

impl ProtoUnpack<Vec<u8>> for Vec<u8>

Source§

fn unpack(value: Vec<u8>) -> Result<Vec<u8>>

Source§

impl ProtoUnpack<Duration> for Duration

Source§

impl ProtoUnpack<Timestamp> for DateTime<Utc>

Source§

impl ProtoUnpack<Value> for Value

Source§

impl<K, V, K2, V2> ProtoUnpack<HashMap<K, V>> for HashMap<K2, V2>
where K: Eq + Hash, K2: ProtoUnpack<K> + Eq + Hash, V2: ProtoUnpack<V>,

Source§

fn unpack(value: HashMap<K, V>) -> Result<HashMap<K2, V2>>

Source§

impl<T1, T2> ProtoUnpack<Option<T1>> for Option<T2>
where T2: ProtoUnpack<T1>,

Source§

fn unpack(value: Option<T1>) -> Result<Self, Error>

Source§

impl<T> ProtoUnpack<T> for BigDecimal
where T: AsRef<str>,

Source§

impl<T, T2> ProtoUnpack<Vec<T>> for Vec<T2>
where T2: ProtoUnpack<T>,

Source§

fn unpack(value: Vec<T>) -> Result<Vec<T2>>

Implementors§

Source§

impl<T> ProtoUnpack<Value> for Json<T>
where T: Serialize + for<'de> Deserialize<'de>,