pub fn from_tokenstream<'a, T>(tokens: &'a TokenStream) -> Result<T>where
    T: Deserialize<'a>,
Expand description

Deserialize an instance of type T from a TokenStream.

Example

use quote::quote;
use serde::Deserialize;
use serde_tokenstream::from_tokenstream;
use serde_tokenstream::Result;

fn main() -> Result<()> {
    #[derive(Deserialize)]
    struct Record {
        worker: String,
        floor: u32,
        region: String,
    }
    let tokenstream = quote! {
        worker = "Homer J. Simpson",
        floor = 7,
        region = "G",
    };

    let rec = from_tokenstream::<Record>(&tokenstream)?;
    println!("{} {}{}", rec.worker, rec.floor, rec.region);
    Ok(())
}