{"id":57094,"library":"syn","title":"Syn","description":"Parser for Rust source code, used in procedural macros.","status":"active","version":"2.0.114","language":"rust","source_language":null,"source_url":"https://github.com/dtolnay/syn","tags":["parser","syntax","proc-macro","ast"],"install":[{"cmd":"# Cargo.toml\n[dependencies]\nsyn = \"2.0.114\"","lang":"toml","label":"Cargo.toml"},{"cmd":"cargo add syn","lang":"bash","label":"cargo add"}],"dependencies":[],"imports":[{"symbol":"parse_macro_input","correct":"use syn::parse_macro_input;"}],"quickstart":{"code":"use syn::parse_macro_input;\n\n// Typically used inside a proc-macro function:\n// #[proc_macro]\n// pub fn my_macro(input: TokenStream) -> TokenStream {\n//     let parsed = parse_macro_input!(input as syn::ItemFn);\n//     // ...\n// }","lang":"rust","description":"Parse a TokenStream into a Rust syntax tree node."},"warnings":[{"fix":"Check migration guide from syn 1.x to 2.x; enable features like \"full\" or \"derive\" as needed.","message":"Syn 2.0 introduced breaking changes in API and feature flags.","severity":"breaking","affected_versions":">=2.0.0"}],"env_vars":null,"search_vec":"'ast':16 'code':6 'macro':10,15 'parser':2,11 'proc':14 'proc-macro':13 'procedur':9 'rust':4 'sourc':5 'syn':1 'syntax':12 'use':7","created_at":"2026-06-16T15:28:04.317047+00:00","updated_at":"2026-06-16T15:28:04.317047+00:00","problems":[],"ecosystem":"crates","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/dtolnay/syn","github":"https://github.com/dtolnay/syn","docs":"https://docs.rs/syn/","changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["other"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-16","next_check":"2026-12-13","install_tag":null}}