TryFromProto

Trait TryFromProto 

Source
pub trait TryFromProto<P>: Sized {
    // Required method
    fn try_from_proto(value: P) -> Result<Self, ProstConvertError>;
}
Expand description

Simple and safe type conversions that may fail in a controlled way under some circumstances. It is the reciprocal of TryIntoNative.

This is useful when you are doing a type conversion that may trivially succeed but may also need special handling. For example, the proto struct may have an Option field that is required in the native side.

§Generic Implementations

You should probabily use the derive macro to impl TryFromProto<P>

Required Methods§

Source

fn try_from_proto(value: P) -> Result<Self, ProstConvertError>

Performs the conversion.

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 TryFromProto<bool> for bool

Source§

impl TryFromProto<f32> for f32

Source§

impl TryFromProto<f64> for f64

Source§

impl TryFromProto<i32> for i8

Source§

impl TryFromProto<i32> for i16

Source§

impl TryFromProto<i32> for i32

Source§

impl TryFromProto<i64> for i64

Source§

impl TryFromProto<u32> for u8

Source§

impl TryFromProto<u32> for u16

Source§

impl TryFromProto<u32> for u32

Source§

impl TryFromProto<u64> for u64

Source§

impl TryFromProto<()> for ()

Source§

impl TryFromProto<String> for IpAddr

Source§

impl TryFromProto<String> for SocketAddr

Source§

impl TryFromProto<String> for String

Source§

impl TryFromProto<String> for Ipv4Addr

Source§

impl TryFromProto<String> for Ipv6Addr

Source§

impl TryFromProto<String> for PathBuf

Source§

impl TryFromProto<String> for Uuid

Source§

impl TryFromProto<Vec<u8>> for Vec<u8>

Source§

impl<T, U> TryFromProto<Vec<U>> for Vec<T>
where T: TryFromProto<U>,

Source§

impl<T, U> TryFromProto<HashMap<bool, U>> for HashMap<bool, T>
where T: TryFromProto<U>,

Source§

impl<T, U> TryFromProto<HashMap<i32, U>> for HashMap<i32, T>
where T: TryFromProto<U>,

Source§

impl<T, U> TryFromProto<HashMap<i64, U>> for HashMap<i64, T>
where T: TryFromProto<U>,

Source§

impl<T, U> TryFromProto<HashMap<u32, U>> for HashMap<u32, T>
where T: TryFromProto<U>,

Source§

impl<T, U> TryFromProto<HashMap<u64, U>> for HashMap<u64, T>
where T: TryFromProto<U>,

Source§

impl<T, U> TryFromProto<HashMap<String, U>> for HashMap<String, T>
where T: TryFromProto<U>,

Implementors§

Source§

impl<T, U> TryFromProto<Option<U>> for T
where T: TryFromProto<U>,