{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreif46ckiphkf37mkmogqqzl5uqegv5hkjwfpxutj7h4daz5tzddlqi",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mn55bjjr2es2"
},
"path": "/t/parser-error-recovery-in-syn-for-better-ide-support-with-proc-macros/24362#post_14",
"publishedAt": "2026-05-31T07:55:29.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "kpreid:\n\n> So, I stand by my original suggestion: output a `compile_error!()` _and_ the unmodified input. That should get you the completion benefits and also a guaranteed error.\n\nunfortunately it's still very annoying since the completions are wrong since the proc-macro's transformation doesn't happen. hence why I think `syn` (or some similar library that's intended to be used by stable code -- so not rustc_parse and not rust-analyzer's parser) should support parse error recovery so you get the correct parts parsed correctly and the broken parts producing a parse error node or similar.",
"title": "Parser error recovery in `syn` for better IDE support with proc-macros"
}