mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
Auto merge of #135352 - notriddle:notriddle/stability-shown, r=camelid
rustdoc: use import stability marker in display Fixes #135078
This commit is contained in:
commit
a2016aaba6
@ -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 {
|
||||
|
18
tests/rustdoc/inline_local/staged-inline.rs
Normal file
18
tests/rustdoc/inline_local/staged-inline.rs
Normal 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;
|
Loading…
Reference in New Issue
Block a user