)]}'
{
  "commit": "5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa",
  "tree": "6ce7b1f14f61ab8e02b9289fc5bd077de22eb4ba",
  "parents": [
    "f5209000832c9d3bc29c91f4daef4ca9f28dc797",
    "51806323f9288e9cdab756a6b528823bcadcaa7a"
  ],
  "author": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Thu Dec 11 21:08:19 2025 +0000"
  },
  "committer": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Thu Dec 11 21:08:19 2025 +0000"
  },
  "message": "Auto merge of #149645 - GuillaumeGomez:doc-attr-based, r\u003djdonszelmann,jonathanbrouwer\n\nPort `doc` attributes to new attribute API\n\nPart of https://github.com/rust-lang/rust/issues/131229.\n\nThis PR ports the `doc` attributes to the new attribute API. However, there are things that will need to be fixed in a follow-up:\n\n* Some part of `cfg_old.rs` are likely unused now, so they should be removed.\n* Not all error/lints are emitted at the same time anymore, making them kinda less useful considering that you need to run and fix rustc/rustdoc multiple times to get through all of them.\n* For coherency with the other attribute errors, I didn\u0027t modify the default output too much, meaning that we have some new messages now. I\u0027ll likely come back to that to check if the previous ones were better in a case-by-case approach.\n* `doc(test(attr(...)))` is handled in a horrifying manner currently. Until we can handle it correctly with the `Attribute` system, it\u0027ll remain that thing we\u0027re all very ashamed of. :smiling_imp:\n* A type in rustdoc got its size increased, I\u0027ll check the impact on performance. But in any case, I plan to improve it in a follow-up so should be \"ok\".\n* Because of error reporting, some fields of `Doc` are suboptimal, like `inline` which instead of being an `Option` is a `ThinVec` because we report the error later on. Part of the things I\u0027m not super happy about but can be postponed to future me.\n* In `src/librustdoc/clean/cfg.rs`, the `pub(crate) fn parse(cfg: \u0026MetaItemInner) -\u003e Result\u003cCfg, InvalidCfgError\u003e {` function should be removed once `cfg_trace` has been ported to new `cfg` API.\n* Size of type `DocFragment` went from 32 to 48. Would be nice to get it back to 32.\n* ``malformed `doc` attribute input`` wasn\u0027t meant for so many candidates, should be improved.\n* See how many of the checks in `check_attr` we can move to attribute parsing\n* Port target checking to be in the attribute parser completely\n* Fix target checking for `doc(alias)` on fields \u0026 patterns\n\nAnd finally, once this PR is merged, I plan to finally stabilize `doc_cfg` feature. :)\n\ncc `@jdonszelmann`\nr? `@JonathanBrouwer`\n",
  "tree_diff": []
}
