diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-08-28 09:35:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-28 09:35:21 +0200 |
| commit | c2f294a73fa8959945df78db72a3fc4fe6270069 (patch) | |
| tree | 7b231b76fd1709618b0bcba575f4ea55a3c623a3 | |
| parent | 3142996a460ae41d3e8866203da577f70b5eefb2 (diff) | |
| parent | aa76e135ff5777b32a20cdf9407564322b4b422d (diff) | |
| download | rust-c2f294a73fa8959945df78db72a3fc4fe6270069.tar.gz rust-c2f294a73fa8959945df78db72a3fc4fe6270069.zip | |
Rollup merge of #101091 - TaKO8Ki:fix-101076, r=notriddle
Extend attrs if local_def_id exists Fixes #101076
| -rw-r--r-- | src/librustdoc/passes/propagate_doc_cfg.rs | 5 | ||||
| -rw-r--r-- | src/test/rustdoc-ui/issue-101076.rs | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/librustdoc/passes/propagate_doc_cfg.rs b/src/librustdoc/passes/propagate_doc_cfg.rs index 21d295bb1f8..2b12d118bca 100644 --- a/src/librustdoc/passes/propagate_doc_cfg.rs +++ b/src/librustdoc/passes/propagate_doc_cfg.rs @@ -41,8 +41,9 @@ impl<'a, 'tcx> DocFolder for CfgPropagator<'a, 'tcx> { if self.parent != Some(expected_parent) { let mut attrs = Vec::new(); for (parent_hir_id, _) in hir.parent_iter(hir_id) { - let def_id = hir.local_def_id(parent_hir_id).to_def_id(); - attrs.extend_from_slice(load_attrs(self.cx, def_id)); + if let Some(def_id) = hir.opt_local_def_id(parent_hir_id) { + attrs.extend_from_slice(load_attrs(self.cx, def_id.to_def_id())); + } } let (_, cfg) = merge_attrs(self.cx, None, item.attrs.other_attrs.as_slice(), Some(&attrs)); diff --git a/src/test/rustdoc-ui/issue-101076.rs b/src/test/rustdoc-ui/issue-101076.rs new file mode 100644 index 00000000000..648f9902908 --- /dev/null +++ b/src/test/rustdoc-ui/issue-101076.rs @@ -0,0 +1,14 @@ +// check-pass + +const _: () = { + #[macro_export] + macro_rules! first_macro { + () => {} + } + mod foo { + #[macro_export] + macro_rules! second_macro { + () => {} + } + } +}; |
