{"message":{"children":[{"children":[],"code":null,"level":"note","message":"expected type `&str`","rendered":null,"spans":[]},{"children":[],"code":null,"level":"note","message":"   found type `&proc_macro::TokenStream`","rendered":null,"spans":[]}],"code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variables\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","message":"mismatched types","rendered":null,"spans":[{"byte_end":437,"byte_start":435,"column_end":48,"column_start":46,"expansion":{"def_site_span":{"byte_end":537,"byte_start":181,"column_end":3,"column_start":1,"expansion":null,"file_name":"lib.rs","is_primary":false,"label":null,"line_end":23,"line_start":14,"suggested_replacement":null,"text":[{"highlight_end":28,"highlight_start":1,"text":"macro_rules! create_derive("},{"highlight_end":55,"highlight_start":1,"text":"    ($mod_:ident, $trait_:ident, $fn_name: ident) => {"},{"highlight_end":38,"highlight_start":1,"text":"        #[proc_macro_derive($trait_)]"},{"highlight_end":61,"highlight_start":1,"text":"        pub fn $fn_name(input: TokenStream) -> TokenStream {"},{"highlight_end":27,"highlight_start":1,"text":"            let s = input;"},{"highlight_end":59,"highlight_start":1,"text":"            let ast = syn::parse_macro_input(&s).unwrap();"},{"highlight_end":70,"highlight_start":1,"text":"            $mod_::expand(&ast, stringify!($trait_)).parse().unwrap()"},{"highlight_end":10,"highlight_start":1,"text":"        }"},{"highlight_end":6,"highlight_start":1,"text":"    }"},{"highlight_end":3,"highlight_start":1,"text":");"}]},"macro_decl_name":"create_derive!","span":{"byte_end":579,"byte_start":539,"column_end":41,"column_start":1,"expansion":null,"file_name":"lib.rs","is_primary":false,"label":null,"line_end":25,"line_start":25,"suggested_replacement":null,"text":[{"highlight_end":41,"highlight_start":1,"text":"create_derive!(from, From, from_derive);"}]}},"file_name":"lib.rs","is_primary":true,"label":"expected str, found struct `proc_macro::TokenStream`","line_end":19,"line_start":19,"suggested_replacement":null,"text":[{"highlight_end":48,"highlight_start":46,"text":"            let ast = syn::parse_macro_input(&s).unwrap();"}]}]},"package_id":"derive_more 0.4.0 (path+file:///home/jelte/fun/derive_more)","reason":"compiler-message","target":{"kind":["proc-macro"],"name":"derive_more","src_path":"/home/jelte/fun/derive_more/lib.rs"}}
