Skip to content

Commit e0b69f2

Browse files
committed
Hide &mut self methods from Deref in sidebar
If there are no `DerefMut` impl for the type.
1 parent 0cd7ff7 commit e0b69f2

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/librustdoc/html/render.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -4095,6 +4095,10 @@ fn sidebar_assoc_items(it: &clean::Item) -> String {
40954095
_ => None,
40964096
})
40974097
{
4098+
let deref_mut = v
4099+
.iter()
4100+
.filter(|i| i.inner_impl().trait_.is_some())
4101+
.any(|i| i.inner_impl().trait_.def_id() == c.deref_mut_trait_did);
40984102
let inner_impl = target
40994103
.def_id()
41004104
.or(target
@@ -4115,7 +4119,9 @@ fn sidebar_assoc_items(it: &clean::Item) -> String {
41154119
let mut ret = impls
41164120
.iter()
41174121
.filter(|i| i.inner_impl().trait_.is_none())
4118-
.flat_map(|i| get_methods(i.inner_impl(), true, &mut used_links, true))
4122+
.flat_map(|i| {
4123+
get_methods(i.inner_impl(), true, &mut used_links, deref_mut)
4124+
})
41194125
.collect::<Vec<_>>();
41204126
// We want links' order to be reproducible so we don't use unstable sort.
41214127
ret.sort();

0 commit comments

Comments
 (0)