about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGary Guo <gary@garyguo.net>2020-07-06 20:32:26 +0100
committerGary Guo <gary@garyguo.net>2020-07-06 20:32:26 +0100
commite0b69f207b276e0432e45bbe41d26a28bbfbfa2e (patch)
tree77262e0e6b5f26fbcf331286579399ec70564dbd /src
parent0cd7ff7ddfb75a38dca81ad3e76b1e984129e939 (diff)
downloadrust-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.rs8
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();