use quote::quote; pub fn add(left: u64, right: u64) -> u64 { left + right } pub fn speak(s: &str) { println!("{}", s); } pub fn do_some_quoting(msg: &str) -> String { let output = quote! { pub fn some_quoting() { println!(#msg); } }; let syntax_tree = syn::parse2(output).unwrap(); prettyplease::unparse(&syntax_tree) } #[cfg(test)] mod tests { use super::*; #[test] fn it_works() { let result = add(2, 2); assert_eq!(result, 4); } }