diff options
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 18 | ||||
| -rw-r--r-- | src/librustdoc/html/render/print_item.rs | 9 |
2 files changed, 14 insertions, 13 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index ac7ae291d29..fe83095f944 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -1680,7 +1680,7 @@ fn render_impl( write!( &mut doc_buffer, "{}", - document_short(item, cx, link, parent, rendering_params.show_def_docs,) + document_short(item, cx, link, parent, rendering_params.show_def_docs) ); } } @@ -2043,15 +2043,13 @@ pub(crate) fn render_impl_summary( w.write_str("</h3>"); let is_trait = inner_impl.trait_.is_some(); - if is_trait { - if let Some(portability) = portability(&i.impl_item, Some(parent)) { - write!( - w, - "<span class=\"item-info\">\ - <div class=\"stab portability\">{portability}</div>\ - </span>", - ); - } + if is_trait && let Some(portability) = portability(&i.impl_item, Some(parent)) { + write!( + w, + "<span class=\"item-info\">\ + <div class=\"stab portability\">{portability}</div>\ + </span>", + ); } w.write_str("</section>"); diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 71186319e07..d588f219739 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -33,6 +33,7 @@ use crate::html::format::{ }; use crate::html::layout::Page; use crate::html::markdown::{HeadingOffset, MarkdownSummaryLine}; +use crate::html::render::{document_full, document_item_info}; use crate::html::url_parts_builder::UrlPartsBuilder; use crate::html::{highlight, static_files}; @@ -818,8 +819,10 @@ fn item_trait(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, t: &clean: info!("Documenting {name} on {ty_name:?}", ty_name = t.name); let item_type = m.type_(); let id = cx.derive_id(format!("{item_type}.{name}")); + let mut content = Buffer::empty_from(w); - write!(&mut content, "{}", document(cx, m, Some(t), HeadingOffset::H5)); + write!(content, "{}", document_full(m, cx, HeadingOffset::H5)); + let toggled = !content.is_empty(); if toggled { let method_toggle_class = if item_type.is_method() { " method-toggle" } else { "" }; @@ -836,8 +839,8 @@ fn item_trait(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, t: &clean: cx, RenderMode::Normal, ); - w.write_str("</h4>"); - w.write_str("</section>"); + w.write_str("</h4></section>"); + document_item_info(cx, m, Some(t)).render_into(w).unwrap(); if toggled { write!(w, "</summary>"); w.push_buffer(content); |
