diff options
| author | Tapan Prakash <tapanprakasht@gmail.com> | 2025-02-23 22:17:18 +0530 |
|---|---|---|
| committer | Tapan Prakash <tapanprakasht@gmail.com> | 2025-02-23 22:17:18 +0530 |
| commit | 6fc19785f7d4d0b91304a8c90348a2dbfd24d664 (patch) | |
| tree | 79a3e5ef8b58df0ab41dc3c6fd0292ebdffaa045 /src/librustdoc | |
| parent | b88076097751f7677b850b94b20faf5679fca321 (diff) | |
| download | rust-6fc19785f7d4d0b91304a8c90348a2dbfd24d664.tar.gz rust-6fc19785f7d4d0b91304a8c90348a2dbfd24d664.zip | |
fixed by differentiating glob export
Diffstat (limited to 'src/librustdoc')
| -rw-r--r-- | src/librustdoc/passes/propagate_stability.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/librustdoc/passes/propagate_stability.rs b/src/librustdoc/passes/propagate_stability.rs index 9c958710c42..8cf39afd55c 100644 --- a/src/librustdoc/passes/propagate_stability.rs +++ b/src/librustdoc/passes/propagate_stability.rs @@ -39,6 +39,16 @@ impl DocFolder for StabilityPropagator<'_, '_> { let item_stability = self.cx.tcx.lookup_stability(def_id); let inline_stability = item.inline_stmt_id.and_then(|did| self.cx.tcx.lookup_stability(did)); + let is_glob_export = item.inline_stmt_id.and_then(|id| { + let hir_id = self.cx.tcx.local_def_id_to_hir_id(id); + Some(matches!( + self.cx.tcx.hir_node(hir_id), + rustc_hir::Node::Item(rustc_hir::Item { + kind: rustc_hir::ItemKind::Use(_, rustc_hir::UseKind::Glob), + .. + }) + )) + }); let own_stability = if let Some(item_stab) = item_stability && let StabilityLevel::Stable { since: _, allowed_through_unstable_modules } = item_stab.level @@ -47,6 +57,8 @@ impl DocFolder for StabilityPropagator<'_, '_> { since: inline_since, allowed_through_unstable_modules: _, } = inline_stab.level + && let Some(is_global_export) = is_glob_export + && !is_global_export { inline_stab.level = StabilityLevel::Stable { since: inline_since, |
