{
  "$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"
}