rustdoc-json: Remove false docs and add test for inline attribute

The docs about how `#[inline]` was represented isn't true. Updates the
comment, and adds a test.

CC https://www.github.com/rust-lang/rust/issues/137645
This commit is contained in:
Alona Enraght-Moony
2025-05-21 19:43:45 +00:00
parent 414482f6a0
commit 8cdfabd230
2 changed files with 12 additions and 7 deletions
+1 -7
View File
@@ -180,19 +180,13 @@ pub struct Item {
///
/// Does not include `#[deprecated]` attributes: see the [`Self::deprecation`] field instead.
///
/// Some attributes appear in pretty-printed Rust form, regardless of their formatting
/// Attributes appear in pretty-printed Rust form, regardless of their formatting
/// in the original source code. For example:
/// - `#[non_exhaustive]` and `#[must_use]` are represented as themselves.
/// - `#[no_mangle]` and `#[export_name]` are also represented as themselves.
/// - `#[repr(C)]` and other reprs also appear as themselves,
/// though potentially with a different order: e.g. `repr(i8, C)` may become `repr(C, i8)`.
/// Multiple repr attributes on the same item may be combined into an equivalent single attr.
///
/// Other attributes may appear debug-printed. For example:
/// - `#[inline]` becomes something similar to `#[attr="Inline(Hint)"]`.
///
/// As an internal implementation detail subject to change, this debug-printing format
/// is currently equivalent to the HIR pretty-printing of parsed attributes.
pub attrs: Vec<String>,
/// Information about the items deprecation, if present.
pub deprecation: Option<Deprecation>,
+11
View File
@@ -0,0 +1,11 @@
//@ is "$.index[?(@.name=='just_inline')].attrs" '["#[inline]"]'
#[inline]
pub fn just_inline() {}
//@ is "$.index[?(@.name=='inline_always')].attrs" '["#[inline(always)]"]'
#[inline(always)]
pub fn inline_always() {}
//@ is "$.index[?(@.name=='inline_never')].attrs" '["#[inline(never)]"]'
#[inline(never)]
pub fn inline_never() {}