Function serde_aux::field_attributes::deserialize_mutex_option_number_from_string[][src]

pub fn deserialize_mutex_option_number_from_string<'de, T, D>(
    deserializer: D
) -> Result<Mutex<Option<T>>, D::Error> where
    D: Deserializer<'de>,
    T: FromStr + Deserialize<'de>,
    <T as FromStr>::Err: Display

Deserializes a Mutex option number from string or a number. Same logic as "deserialize_option_number_from_string".

Example:

use serde_aux::prelude::*;
use std::sync::Mutex;

#[derive(Debug, serde::Deserialize)]
struct MyStruct {
    #[serde(default, deserialize_with = "deserialize_mutex_option_number_from_string")]
    v: Mutex<Option<f32>>
}

let a = serde_qs::from_str::<MyStruct>("v=-0.1").unwrap();
assert_eq!(*a.v.lock().unwrap(), Some(-0.1));