mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
Don't display "Methods from Deref<...>" if no method is display (the ones which don't have self
argument)
This commit is contained in:
parent
3398877858
commit
dd68d207a5
@ -1075,9 +1075,10 @@ fn render_assoc_items_inner(
|
||||
};
|
||||
let (non_trait, traits): (Vec<_>, _) = v.iter().partition(|i| i.inner_impl().trait_.is_none());
|
||||
if !non_trait.is_empty() {
|
||||
let mut tmp_buf = Buffer::empty_from(w);
|
||||
let render_mode = match what {
|
||||
AssocItemRender::All => {
|
||||
w.write_str(
|
||||
tmp_buf.write_str(
|
||||
"<h2 id=\"implementations\" class=\"small-section-header\">\
|
||||
Implementations<a href=\"#implementations\" class=\"anchor\"></a>\
|
||||
</h2>",
|
||||
@ -1091,7 +1092,7 @@ fn render_assoc_items_inner(
|
||||
cx.deref_id_map.borrow_mut().insert(def_id, id.clone());
|
||||
}
|
||||
write!(
|
||||
w,
|
||||
tmp_buf,
|
||||
"<h2 id=\"{id}\" class=\"small-section-header\">\
|
||||
<span>Methods from {trait_}<Target = {type_}></span>\
|
||||
<a href=\"#{id}\" class=\"anchor\"></a>\
|
||||
@ -1103,9 +1104,10 @@ fn render_assoc_items_inner(
|
||||
RenderMode::ForDeref { mut_: deref_mut_ }
|
||||
}
|
||||
};
|
||||
let mut impls_buf = Buffer::empty_from(w);
|
||||
for i in &non_trait {
|
||||
render_impl(
|
||||
w,
|
||||
&mut impls_buf,
|
||||
cx,
|
||||
i,
|
||||
containing_item,
|
||||
@ -1122,6 +1124,10 @@ fn render_assoc_items_inner(
|
||||
},
|
||||
);
|
||||
}
|
||||
if !impls_buf.is_empty() {
|
||||
w.push_buffer(tmp_buf);
|
||||
w.push_buffer(impls_buf);
|
||||
}
|
||||
}
|
||||
|
||||
if !traits.is_empty() {
|
||||
|
@ -5,7 +5,12 @@ pub struct A;
|
||||
pub struct B;
|
||||
pub struct C;
|
||||
|
||||
impl C {
|
||||
pub fn c(&self) {}
|
||||
}
|
||||
|
||||
// @has recursive_deref/struct.A.html '//h3[@class="code-header in-band"]' 'impl Deref for A'
|
||||
// @has '-' '//*[@class="impl-items"]//*[@id="method.c"]' 'pub fn c(&self)'
|
||||
impl Deref for A {
|
||||
type Target = B;
|
||||
|
||||
@ -15,6 +20,7 @@ impl Deref for A {
|
||||
}
|
||||
|
||||
// @has recursive_deref/struct.B.html '//h3[@class="code-header in-band"]' 'impl Deref for B'
|
||||
// @has '-' '//*[@class="impl-items"]//*[@id="method.c"]' 'pub fn c(&self)'
|
||||
impl Deref for B {
|
||||
type Target = C;
|
||||
|
||||
@ -38,7 +44,13 @@ pub struct E;
|
||||
pub struct F;
|
||||
pub struct G;
|
||||
|
||||
impl G {
|
||||
// There is no "self" parameter so it shouldn't be listed!
|
||||
pub fn g() {}
|
||||
}
|
||||
|
||||
// @has recursive_deref/struct.D.html '//h3[@class="code-header in-band"]' 'impl Deref for D'
|
||||
// @!has '-' '//*[@id="deref-methods-G"]'
|
||||
impl Deref for D {
|
||||
type Target = E;
|
||||
|
||||
@ -48,6 +60,7 @@ impl Deref for D {
|
||||
}
|
||||
|
||||
// @has recursive_deref/struct.E.html '//h3[@class="code-header in-band"]' 'impl Deref for E'
|
||||
// @!has '-' '//*[@id="deref-methods-G"]'
|
||||
impl Deref for E {
|
||||
type Target = F;
|
||||
|
||||
@ -57,6 +70,7 @@ impl Deref for E {
|
||||
}
|
||||
|
||||
// @has recursive_deref/struct.F.html '//h3[@class="code-header in-band"]' 'impl Deref for F'
|
||||
// @!has '-' '//*[@id="deref-methods-G"]'
|
||||
impl Deref for F {
|
||||
type Target = G;
|
||||
|
||||
@ -78,7 +92,13 @@ impl Deref for G {
|
||||
pub struct H;
|
||||
pub struct I;
|
||||
|
||||
impl I {
|
||||
// There is no "self" parameter so it shouldn't be listed!
|
||||
pub fn i() {}
|
||||
}
|
||||
|
||||
// @has recursive_deref/struct.H.html '//h3[@class="code-header in-band"]' 'impl Deref for H'
|
||||
// @!has '-' '//*[@id="deref-methods-I"]'
|
||||
impl Deref for H {
|
||||
type Target = I;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user