Rollup merge of #103653 - GuillaumeGomez:missing-impl-private-json, r=notriddle
Add missing impl blocks for item reexported from private mod in JSON output Fixes #102583. Since we don't inline for the JSON output, the impl blocks from private modules are not present when we generate the output. To go around this limitation, in case the impl block doesn't have `#[doc(hidden)]` and is implementing a public item, we don't strip it. cc `@fmease` `@aDotInTheVoid` r? `@notriddle`
This commit is contained in:
commit
05ab16b54e
2 changed files with 53 additions and 5 deletions
|
|
@ -0,0 +1,28 @@
|
|||
// Regression test for <https://github.com/rust-lang/rust/issues/102583>.
|
||||
|
||||
// @set impl_S = "$.index[*][?(@.docs=='impl S')].id"
|
||||
// @has "$.index[*][?(@.name=='S')].inner.impls[*]" $impl_S
|
||||
// @set is_present = "$.index[*][?(@.name=='is_present')].id"
|
||||
// @is "$.index[*][?(@.docs=='impl S')].inner.items[*]" $is_present
|
||||
// @!has "$.index[*][?(@.name=='hidden_impl')]"
|
||||
// @!has "$.index[*][?(@.name=='hidden_fn')]"
|
||||
|
||||
#![no_std]
|
||||
|
||||
mod private_mod {
|
||||
pub struct S;
|
||||
|
||||
/// impl S
|
||||
impl S {
|
||||
pub fn is_present() {}
|
||||
#[doc(hidden)]
|
||||
pub fn hidden_fn() {}
|
||||
}
|
||||
|
||||
#[doc(hidden)]
|
||||
impl S {
|
||||
pub fn hidden_impl() {}
|
||||
}
|
||||
}
|
||||
|
||||
pub use private_mod::*;
|
||||
Loading…
Add table
Add a link
Reference in a new issue