pub trait FromValue: Sized {
type Intermediate: TryFrom<Value, Error = FromValueError> + Into<Self>;
// Provided methods
fn from_value(v: Value) -> Self { ... }
fn from_value_opt(v: Value) -> Result<Self, FromValueError> { ... }
fn get_intermediate(v: Value) -> Result<Self::Intermediate, FromValueError> { ... }
}
Expand description
Implement this trait to convert a value to some type.
The FromRow
trait requires an ability to rollback this conversion to an original Value
instance. Thats the reason why there is the Intermediate
type – consider implementing
Into<Value>
for your Intermediate
type if you want FromRow
to work with your type.
Required Associated Types§
type Intermediate: TryFrom<Value, Error = FromValueError> + Into<Self>
Provided Methods§
sourcefn from_value(v: Value) -> Self
fn from_value(v: Value) -> Self
Will panic if could not convert v
to Self
.
sourcefn from_value_opt(v: Value) -> Result<Self, FromValueError>
fn from_value_opt(v: Value) -> Result<Self, FromValueError>
Will return Err(Error::FromValueError(v))
if could not convert v
to Self
.
sourcefn get_intermediate(v: Value) -> Result<Self::Intermediate, FromValueError>
fn get_intermediate(v: Value) -> Result<Self::Intermediate, FromValueError>
Will return Err(Error::FromValueError(v))
if v
is not convertible to Self
.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl FromValue for bool
impl FromValue for bool
type Intermediate = ParseIrOpt<bool>
source§impl FromValue for f32
impl FromValue for f32
type Intermediate = ParseIrOpt<f32>
source§impl FromValue for f64
impl FromValue for f64
type Intermediate = ParseIrOpt<f64>
source§impl FromValue for i8
impl FromValue for i8
type Intermediate = ParseIrOpt<i8>
source§impl FromValue for i16
impl FromValue for i16
type Intermediate = ParseIrOpt<i16>
source§impl FromValue for i32
impl FromValue for i32
type Intermediate = ParseIrOpt<i32>
source§impl FromValue for i64
impl FromValue for i64
type Intermediate = ParseIrOpt<i64>
source§impl FromValue for i128
impl FromValue for i128
type Intermediate = ParseIrOpt<i128>
source§impl FromValue for isize
impl FromValue for isize
type Intermediate = ParseIrOpt<isize>
source§impl FromValue for u8
impl FromValue for u8
type Intermediate = ParseIrOpt<u8>
source§impl FromValue for u16
impl FromValue for u16
type Intermediate = ParseIrOpt<u16>
source§impl FromValue for u32
impl FromValue for u32
type Intermediate = ParseIrOpt<u32>
source§impl FromValue for u64
impl FromValue for u64
type Intermediate = ParseIrOpt<u64>
source§impl FromValue for u128
impl FromValue for u128
type Intermediate = ParseIrOpt<u128>
source§impl FromValue for usize
impl FromValue for usize
type Intermediate = ParseIrOpt<usize>
source§impl FromValue for BigDecimal
impl FromValue for BigDecimal
type Intermediate = ParseIr<BigDecimal>
source§impl FromValue for PrimitiveDateTime
impl FromValue for PrimitiveDateTime
source§impl FromValue for Time
impl FromValue for Time
Converts a MySQL TIME
value to a time::Time
.
Note: time::Time
only allows for time values in the 00:00:00 - 23:59:59 range.
If you’re expecting TIME
values in MySQL’s TIME
value range of -838:59:59 - 838:59:59,
use time::Duration instead.