From 7e855b59151f2e5c2a58fe422a273e997df14b24 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 4 May 2020 23:36:22 +0200 Subject: Clean up rustdoc source code --- src/librustdoc/html/render.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/librustdoc/html') diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 666e59b9a04..c88db8c5ed0 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -31,7 +31,6 @@ use std::cmp::Ordering; use std::collections::{BTreeMap, VecDeque}; use std::default::Default; use std::error; - use std::ffi::OsStr; use std::fmt::{self, Formatter, Write}; use std::fs::{self, File}; @@ -40,6 +39,7 @@ use std::io::{self, BufReader}; use std::path::{Component, Path, PathBuf}; use std::rc::Rc; use std::str; +use std::string::ToString; use std::sync::Arc; use rustc_ast_pretty::pprust; @@ -92,7 +92,7 @@ crate fn ensure_trailing_slash(v: &str) -> impl fmt::Display + '_ { #[derive(Debug)] pub struct Error { pub file: PathBuf, - pub error: io::Error, + pub error: String, } impl error::Error for Error {} @@ -109,8 +109,11 @@ impl std::fmt::Display for Error { } impl PathError for Error { - fn new>(e: io::Error, path: P) -> Error { - Error { file: path.as_ref().to_path_buf(), error: e } + fn new>(e: S, path: P) -> Error + where + S: ToString + Sized, + { + Error { file: path.as_ref().to_path_buf(), error: e.to_string() } } } @@ -557,7 +560,7 @@ pub fn run( // Write shared runs within a flock; disable thread dispatching of IO temporarily. Arc::get_mut(&mut cx.shared).unwrap().fs.set_sync_only(true); - write_shared(&cx, &krate, index, &md_opts, diag)?; + write_shared(&cx, &krate, index, &md_opts)?; Arc::get_mut(&mut cx.shared).unwrap().fs.set_sync_only(false); // And finally render the whole crate's documentation @@ -577,7 +580,6 @@ fn write_shared( krate: &clean::Crate, search_index: String, options: &RenderOptions, - diag: &rustc_errors::Handler, ) -> Result<(), Error> { // Write out the shared files. Note that these are shared among all rustdoc // docs placed in the output directory, so this needs to be a synchronized @@ -960,7 +962,8 @@ themePicker.onblur = handleThemeButtonsBlur; md_opts.output = cx.dst.clone(); md_opts.external_html = (*cx.shared).layout.external_html.clone(); - crate::markdown::render(index_page, md_opts, diag, cx.shared.edition); + crate::markdown::render(&index_page, md_opts, cx.shared.edition) + .map_err(|e| Error::new(e, &index_page))?; } else { let dst = cx.dst.join("index.html"); let page = layout::Page { -- cgit 1.4.1-3-g733a5