diff options
| author | Christian Duerr <contact@christianduerr.com> | 2017-11-30 21:18:36 +0100 |
|---|---|---|
| committer | Christian Duerr <contact@christianduerr.com> | 2017-11-30 21:18:36 +0100 |
| commit | 1df13c057a7f1937170fe600d24256f0bf943ec2 (patch) | |
| tree | ff7abedf96e6a30f199966b223c39e8e0fb514e2 /src/librustdoc/passes | |
| parent | ec337b613ec5519a54f2948f9d8b7beea5cba86b (diff) | |
| download | rust-1df13c057a7f1937170fe600d24256f0bf943ec2.tar.gz rust-1df13c057a7f1937170fe600d24256f0bf943ec2.zip | |
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.
Diffstat (limited to 'src/librustdoc/passes')
| -rw-r--r-- | src/librustdoc/passes/mod.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/librustdoc/passes/mod.rs b/src/librustdoc/passes/mod.rs index 77d97c84c99..3e15d3d3007 100644 --- a/src/librustdoc/passes/mod.rs +++ b/src/librustdoc/passes/mod.rs @@ -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) } |
