rustdoc: use import stability marker in display

This commit is contained in:
Michael Howell 2025-01-10 14:32:29 -07:00
parent 336209eef1
commit 916cfbcd3e
2 changed files with 38 additions and 1 deletions

View file

@ -36,7 +36,26 @@ impl DocFolder for StabilityPropagator<'_, '_> {
let stability = match item.item_id {
ItemId::DefId(def_id) => {
let own_stability = self.cx.tcx.lookup_stability(def_id);
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 own_stability = if let Some(item_stab) = item_stability
&& let StabilityLevel::Stable { since: _, allowed_through_unstable_modules } =
item_stab.level
&& let Some(mut inline_stab) = inline_stability
&& let StabilityLevel::Stable {
since: inline_since,
allowed_through_unstable_modules: _,
} = inline_stab.level
{
inline_stab.level = StabilityLevel::Stable {
since: inline_since,
allowed_through_unstable_modules,
};
Some(inline_stab)
} else {
item_stability
};
let (ItemKind::StrippedItem(box kind) | kind) = &item.kind;
match kind {

View file

@ -0,0 +1,18 @@
// https://github.com/rust-lang/rust/issues/135078
#![crate_name = "foo"]
#![feature(staged_api)]
#![stable(feature = "v1", since="1.0.0")]
#[stable(feature = "v1", since="1.0.0")]
pub mod ffi {
#[stable(feature = "core_ffi", since="1.99.0")]
//@ has "foo/ffi/struct.CStr.html" "//span[@class='sub-heading']/span[@class='since']" "1.99.0"
//@ !has - "//span[@class='sub-heading']/span[@class='since']" "1.0.0"
pub struct CStr;
}
#[stable(feature = "v1", since = "1.0.0")]
#[doc(inline)]
//@ has "foo/struct.CStr.html" "//span[@class='sub-heading']/span[@class='since']" "1.0.0"
//@ !has - "//span[@class='sub-heading']/span[@class='since']" "1.99.0"
pub use ffi::CStr;