Skip to main content

FromValue

Trait FromValue 

Source
pub trait FromValue<'v> {
    // Required method
    fn from_value(value: Value<'v>) -> Option<Self>
       where Self: Sized;
}
Expand description

Convert from a Value.

This trait is the basis for the Value::cast method.

This may involve downcasting, serializing, or parsing. Implementations should attempt to downcast first with Value::downcast_ref.

§Relationship with From<Value>

This trait is similar to the standard From trait, but serves a different purpose. The From trait is infallible, and since Value could be anything only a handful of types implement it. FromValue is fallible, so more types can implement it, returning None when the contained value is incompatible.

Required Methods§

Source

fn from_value(value: Value<'v>) -> Option<Self>
where Self: Sized,

Perform the conversion.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'v> FromValue<'v> for &'v (dyn Error + 'static)

Available on crate feature std only.
Source§

fn from_value(value: Value<'v>) -> Option<&'v (dyn Error + 'static)>

Source§

impl<'v> FromValue<'v> for &'v str

Source§

fn from_value(value: Value<'v>) -> Option<&'v str>

Source§

impl<'v> FromValue<'v> for Cow<'v, str>

Source§

fn from_value(value: Value<'v>) -> Option<Cow<'v, str>>

Source§

impl<'v> FromValue<'v> for String

Source§

impl<'v> FromValue<'v> for bool

Source§

fn from_value(value: Value<'v>) -> Option<bool>

Source§

impl<'v> FromValue<'v> for f64

Source§

fn from_value(value: Value<'v>) -> Option<f64>

Source§

impl<'v> FromValue<'v> for i8

Source§

fn from_value(value: Value<'v>) -> Option<i8>

Source§

impl<'v> FromValue<'v> for i16

Source§

fn from_value(value: Value<'v>) -> Option<i16>

Source§

impl<'v> FromValue<'v> for i32

Source§

fn from_value(value: Value<'v>) -> Option<i32>

Source§

impl<'v> FromValue<'v> for i64

Source§

fn from_value(value: Value<'v>) -> Option<i64>

Source§

impl<'v> FromValue<'v> for i128

Source§

fn from_value(value: Value<'v>) -> Option<i128>

Source§

impl<'v> FromValue<'v> for isize

Source§

impl<'v> FromValue<'v> for u8

Source§

fn from_value(value: Value<'v>) -> Option<u8>

Source§

impl<'v> FromValue<'v> for u16

Source§

fn from_value(value: Value<'v>) -> Option<u16>

Source§

impl<'v> FromValue<'v> for u32

Source§

fn from_value(value: Value<'v>) -> Option<u32>

Source§

impl<'v> FromValue<'v> for u64

Source§

fn from_value(value: Value<'v>) -> Option<u64>

Source§

impl<'v> FromValue<'v> for u128

Source§

fn from_value(value: Value<'v>) -> Option<u128>

Source§

impl<'v> FromValue<'v> for usize

Implementors§

Source§

impl<'a> FromValue<'a> for BucketSet

Source§

impl<'a> FromValue<'a> for Path<'a>

Source§

impl<'a> FromValue<'a> for SpanLinkSet

Source§

impl<'k> FromValue<'k> for Str<'k>

Source§

impl<'v> FromValue<'v> for Kind

Source§

impl<'v> FromValue<'v> for Level

Source§

impl<'v> FromValue<'v> for Point

Source§

impl<'v> FromValue<'v> for SpanId

Source§

impl<'v> FromValue<'v> for SpanKind

Source§

impl<'v> FromValue<'v> for Timestamp

Source§

impl<'v> FromValue<'v> for TraceId

Source§

impl<'v> FromValue<'v> for Value<'v>