diff options
Diffstat (limited to 'src/librustdoc/html/render')
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 29 | ||||
| -rw-r--r-- | src/librustdoc/html/render/print_item.rs | 26 | ||||
| -rw-r--r-- | src/librustdoc/html/render/sidebar.rs | 5 | ||||
| -rw-r--r-- | src/librustdoc/html/render/type_layout.rs | 3 |
4 files changed, 30 insertions, 33 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 8966001c3d6..a27a9d202eb 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -69,9 +69,9 @@ use crate::formats::cache::Cache; use crate::formats::item_type::ItemType; use crate::html::escape::Escape; use crate::html::format::{ - Buffer, Ending, HrefError, PrintWithSpace, display_fn, href, join_with_double_colon, - print_abi_with_space, print_constness_with_space, print_default_space, print_generic_bounds, - print_where_clause, visibility_print_with_space, + Buffer, Ending, HrefError, PrintWithSpace, href, join_with_double_colon, print_abi_with_space, + print_constness_with_space, print_default_space, print_generic_bounds, print_where_clause, + visibility_print_with_space, }; use crate::html::markdown::{ HeadingOffset, IdMap, Markdown, MarkdownItemInfo, MarkdownSummaryLine, @@ -82,13 +82,14 @@ use crate::scrape_examples::{CallData, CallLocation}; use crate::{DOC_RUST_LANG_ORG_CHANNEL, try_none}; pub(crate) fn ensure_trailing_slash(v: &str) -> impl fmt::Display + '_ { - crate::html::format::display_fn(move |f| { + fmt::from_fn(move |f| { if !v.ends_with('/') && !v.is_empty() { write!(f, "{v}/") } else { f.write_str(v) } }) } /// Specifies whether rendering directly implemented trait items or ones from a certain Deref /// impl. +#[derive(Copy, Clone)] pub(crate) enum AssocItemRender<'a> { All, DerefFor { trait_: &'a clean::Path, type_: &'a clean::Type, deref_mut_: bool }, @@ -309,9 +310,7 @@ impl ItemEntry { impl ItemEntry { pub(crate) fn print(&self) -> impl fmt::Display + '_ { - crate::html::format::display_fn(move |f| { - write!(f, "<a href=\"{}\">{}</a>", self.url, Escape(&self.name)) - }) + fmt::from_fn(move |f| write!(f, "<a href=\"{}\">{}</a>", self.url, Escape(&self.name))) } } @@ -513,7 +512,7 @@ fn document<'a, 'cx: 'a>( info!("Documenting {name}"); } - display_fn(move |f| { + fmt::from_fn(move |f| { document_item_info(cx, item, parent).render_into(f).unwrap(); if parent.is_none() { write!(f, "{}", document_full_collapsible(item, cx, heading_offset)) @@ -530,7 +529,7 @@ fn render_markdown<'a, 'cx: 'a>( links: Vec<RenderedLink>, heading_offset: HeadingOffset, ) -> impl fmt::Display + 'a + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { write!( f, "<div class=\"docblock\">{}</div>", @@ -557,7 +556,7 @@ fn document_short<'a, 'cx: 'a>( parent: &'a clean::Item, show_def_docs: bool, ) -> impl fmt::Display + 'a + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { document_item_info(cx, item, Some(parent)).render_into(f).unwrap(); if !show_def_docs { return Ok(()); @@ -605,7 +604,7 @@ fn document_full_inner<'a, 'cx: 'a>( is_collapsible: bool, heading_offset: HeadingOffset, ) -> impl fmt::Display + 'a + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { if let Some(s) = item.opt_doc_value() { debug!("Doc block: =====\n{s}\n====="); if is_collapsible { @@ -1159,7 +1158,7 @@ fn render_attributes_in_pre<'a, 'tcx: 'a>( prefix: &'a str, cx: &'a Context<'tcx>, ) -> impl fmt::Display + Captures<'a> + Captures<'tcx> { - crate::html::format::display_fn(move |f| { + fmt::from_fn(move |f| { for a in it.attributes(cx.tcx(), cx.cache(), false) { writeln!(f, "{prefix}{a}")?; } @@ -1256,9 +1255,9 @@ fn render_assoc_items<'a, 'cx: 'a>( it: DefId, what: AssocItemRender<'a>, ) -> impl fmt::Display + 'a + Captures<'cx> { - let mut derefs = DefIdSet::default(); - derefs.insert(it); - display_fn(move |f| { + fmt::from_fn(move |f| { + let mut derefs = DefIdSet::default(); + derefs.insert(it); render_assoc_items_inner(f, cx, containing_item, it, what, &mut derefs); Ok(()) }) diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 76a51cc64a8..f07c676639f 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -30,7 +30,7 @@ use crate::formats::Impl; use crate::formats::item_type::ItemType; use crate::html::escape::{Escape, EscapeBodyTextWithWbr}; use crate::html::format::{ - Buffer, Ending, PrintWithSpace, display_fn, join_with_double_colon, print_abi_with_space, + Buffer, Ending, PrintWithSpace, join_with_double_colon, print_abi_with_space, print_constness_with_space, print_where_clause, visibility_print_with_space, }; use crate::html::markdown::{HeadingOffset, MarkdownSummaryLine}; @@ -92,7 +92,7 @@ macro_rules! item_template_methods { () => {}; (document $($rest:tt)*) => { fn document<'b>(&'b self) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { let (item, cx) = self.item_and_cx(); let v = document(cx, item, None, HeadingOffset::H2); write!(f, "{v}") @@ -102,7 +102,7 @@ macro_rules! item_template_methods { }; (document_type_layout $($rest:tt)*) => { fn document_type_layout<'b>(&'b self) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { let (item, cx) = self.item_and_cx(); let def_id = item.item_id.expect_def_id(); let v = document_type_layout(cx, def_id); @@ -113,7 +113,7 @@ macro_rules! item_template_methods { }; (render_attributes_in_pre $($rest:tt)*) => { fn render_attributes_in_pre<'b>(&'b self) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { let (item, cx) = self.item_and_cx(); let v = render_attributes_in_pre(item, "", cx); write!(f, "{v}") @@ -123,7 +123,7 @@ macro_rules! item_template_methods { }; (render_assoc_items $($rest:tt)*) => { fn render_assoc_items<'b>(&'b self) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { let (item, cx) = self.item_and_cx(); let def_id = item.item_id.expect_def_id(); let v = render_assoc_items(cx, item, def_id, AssocItemRender::All); @@ -520,13 +520,13 @@ fn extra_info_tags<'a, 'tcx: 'a>( parent: &'a clean::Item, import_def_id: Option<DefId>, ) -> impl fmt::Display + 'a + Captures<'tcx> { - display_fn(move |f| { + fmt::from_fn(move |f| { fn tag_html<'a>( class: &'a str, title: &'a str, contents: &'a str, ) -> impl fmt::Display + 'a { - display_fn(move |f| { + fmt::from_fn(move |f| { write!( f, r#"<wbr><span class="stab {class}" title="{title}">{contents}</span>"#, @@ -1376,7 +1376,7 @@ fn item_union(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, s: &clean::Uni impl<'a, 'cx: 'a> ItemUnion<'a, 'cx> { fn render_union<'b>(&'b self) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { let v = render_union(self.it, Some(&self.s.generics), &self.s.fields, self.cx); write!(f, "{v}") }) @@ -1386,7 +1386,7 @@ fn item_union(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, s: &clean::Uni &'b self, field: &'a clean::Item, ) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { let v = document(self.cx, field, Some(self.it), HeadingOffset::H3); write!(f, "{v}") }) @@ -1400,7 +1400,7 @@ fn item_union(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, s: &clean::Uni &'b self, ty: &'a clean::Type, ) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { let v = ty.print(self.cx); write!(f, "{v}") }) @@ -1427,7 +1427,7 @@ fn print_tuple_struct_fields<'a, 'cx: 'a>( cx: &'a Context<'cx>, s: &'a [clean::Item], ) -> impl fmt::Display + 'a + Captures<'cx> { - display_fn(|f| { + fmt::from_fn(|f| { if !s.is_empty() && s.iter().all(|field| { matches!(field.kind, clean::StrippedItem(box clean::StructFieldItem(..))) @@ -2152,7 +2152,7 @@ fn render_union<'a, 'cx: 'a>( fields: &'a [clean::Item], cx: &'a Context<'cx>, ) -> impl fmt::Display + 'a + Captures<'cx> { - display_fn(move |mut f| { + fmt::from_fn(move |mut f| { write!(f, "{}union {}", visibility_print_with_space(it, cx), it.name.unwrap(),)?; let where_displayed = g @@ -2332,7 +2332,7 @@ fn document_non_exhaustive_header(item: &clean::Item) -> &str { } fn document_non_exhaustive(item: &clean::Item) -> impl fmt::Display + '_ { - display_fn(|f| { + fmt::from_fn(|f| { if item.is_non_exhaustive() { write!( f, diff --git a/src/librustdoc/html/render/sidebar.rs b/src/librustdoc/html/render/sidebar.rs index 881df8b0050..23ac568fdf8 100644 --- a/src/librustdoc/html/render/sidebar.rs +++ b/src/librustdoc/html/render/sidebar.rs @@ -100,18 +100,17 @@ impl<'a> Link<'a> { } pub(crate) mod filters { - use std::fmt::Display; + use std::fmt::{self, Display}; use rinja::filters::Safe; use crate::html::escape::EscapeBodyTextWithWbr; - use crate::html::render::display_fn; pub(crate) fn wrapped<T>(v: T) -> rinja::Result<Safe<impl Display>> where T: Display, { let string = v.to_string(); - Ok(Safe(display_fn(move |f| EscapeBodyTextWithWbr(&string).fmt(f)))) + Ok(Safe(fmt::from_fn(move |f| EscapeBodyTextWithWbr(&string).fmt(f)))) } } diff --git a/src/librustdoc/html/render/type_layout.rs b/src/librustdoc/html/render/type_layout.rs index 9317844956d..0f01db5f6bc 100644 --- a/src/librustdoc/html/render/type_layout.rs +++ b/src/librustdoc/html/render/type_layout.rs @@ -9,7 +9,6 @@ use rustc_middle::ty::layout::LayoutError; use rustc_middle::ty::{self}; use rustc_span::symbol::Symbol; -use crate::html::format::display_fn; use crate::html::render::Context; #[derive(Template)] @@ -31,7 +30,7 @@ pub(crate) fn document_type_layout<'a, 'cx: 'a>( cx: &'a Context<'cx>, ty_def_id: DefId, ) -> impl fmt::Display + 'a + Captures<'cx> { - display_fn(move |f| { + fmt::from_fn(move |f| { if !cx.shared.show_type_layout { return Ok(()); } |
