esyn 0.9.1

De/Serialization Rust In Rust.
Documentation
use crate::{syn::*, *};

use std::path::PathBuf;

impl DeRs<Expr> for PathBuf {
    fn de(ast: &Expr) -> Res<Self> {
        Ok(Self::from(<String as DeRs<Expr>>::de(ast)?))
    }
}

impl MutPath for PathBuf {
    fn mut_path(&mut self, _iter: &mut std::slice::Iter<&Ident>, ast: &syn::Expr) -> Res<()> {
        *self = <Self as DeRs<Expr>>::de(ast)?;

        Ok(())
    }
}

impl EsynDefault for PathBuf {
    fn esyn_default() -> Self {
        Default::default()
    }
}

impl EsynSer for PathBuf {
    fn ser(&self) -> TokenStream {
        let v = self.to_str().unwrap();
        quote! {
            #v
        }
    }
}