diff options
| author | Gary Guo <gary@garyguo.net> | 2020-07-06 20:32:26 +0100 |
|---|---|---|
| committer | Gary Guo <gary@garyguo.net> | 2020-07-06 20:32:26 +0100 |
| commit | e0b69f207b276e0432e45bbe41d26a28bbfbfa2e (patch) | |
| tree | 77262e0e6b5f26fbcf331286579399ec70564dbd /src | |
| parent | 0cd7ff7ddfb75a38dca81ad3e76b1e984129e939 (diff) | |
| download | rust-e0b69f207b276e0432e45bbe41d26a28bbfbfa2e.tar.gz rust-e0b69f207b276e0432e45bbe41d26a28bbfbfa2e.zip | |
Hide `&mut self` methods from Deref in sidebar
If there are no `DerefMut` impl for the type.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/html/render.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 04c4685213b..6d3576ed807 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -4095,6 +4095,10 @@ fn sidebar_assoc_items(it: &clean::Item) -> String { _ => None, }) { + let deref_mut = v + .iter() + .filter(|i| i.inner_impl().trait_.is_some()) + .any(|i| i.inner_impl().trait_.def_id() == c.deref_mut_trait_did); let inner_impl = target .def_id() .or(target @@ -4115,7 +4119,9 @@ fn sidebar_assoc_items(it: &clean::Item) -> String { let mut ret = impls .iter() .filter(|i| i.inner_impl().trait_.is_none()) - .flat_map(|i| get_methods(i.inner_impl(), true, &mut used_links, true)) + .flat_map(|i| { + get_methods(i.inner_impl(), true, &mut used_links, deref_mut) + }) .collect::<Vec<_>>(); // We want links' order to be reproducible so we don't use unstable sort. ret.sort(); |
