Hide trait impl with private trait type parameter
Trait's implementations with private type parameters were displayed in the implementing struct's documentation until now. With this change any trait implementation that uses a private type parameter is now hidden in the docs.
This commit is contained in:
parent
ec337b613e
commit
1df13c057a
2 changed files with 28 additions and 0 deletions
|
@ -184,6 +184,15 @@ impl<'a> fold::DocFolder for ImplStripper<'a> {
|
|||
return None;
|
||||
}
|
||||
}
|
||||
if let Some(generics) = imp.trait_.as_ref().and_then(|t| t.generics()) {
|
||||
for typaram in generics {
|
||||
if let Some(did) = typaram.def_id() {
|
||||
if did.is_local() && !self.retained.contains(&did) {
|
||||
return None;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
self.fold_item_recur(i)
|
||||
}
|
||||
|
|
19
src/test/rustdoc/issue-46380-2.rs
Normal file
19
src/test/rustdoc/issue-46380-2.rs
Normal file
|
@ -0,0 +1,19 @@
|
|||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
pub trait PublicTrait<T> {}
|
||||
|
||||
// @has issue_46380_2/struct.Public.html
|
||||
pub struct PublicStruct;
|
||||
|
||||
// @!has - '//*[@class="impl"]' 'impl Add<Private> for Public'
|
||||
impl PublicTrait<PrivateStruct> for PublicStruct {}
|
||||
|
||||
struct PrivateStruct;
|
Loading…
Add table
Add a link
Reference in a new issue