diff options
| author | bors <bors@rust-lang.org> | 2018-12-07 23:26:14 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-12-07 23:26:14 +0000 |
| commit | 0a7798079608b4ff014471ae64b6c8201aa59cdf (patch) | |
| tree | d7b77b0fc5a6446207132b666952751aecf40a51 /src/librustdoc/html | |
| parent | 4a45578bc58ff262864f72680cc02e83f5d2f5b3 (diff) | |
| parent | 2f6226518bd5085896a0f27cfd3ea396367ecd50 (diff) | |
| download | rust-0a7798079608b4ff014471ae64b6c8201aa59cdf.tar.gz rust-0a7798079608b4ff014471ae64b6c8201aa59cdf.zip | |
Auto merge of #56258 - euclio:fs-read-write, r=euclio
use top level `fs` functions where appropriate This commit replaces many usages of `File::open` and reading or writing with `fs::read_to_string`, `fs::read` and `fs::write`. This reduces code complexity, and will improve performance for most reads, since the functions allocate the buffer to be the size of the file. I believe that this commit will not impact behavior in any way, so some matches will check the error kind in case the file was not valid UTF-8. Some of these cases may not actually care about the error.
Diffstat (limited to 'src/librustdoc/html')
| -rw-r--r-- | src/librustdoc/html/render.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 30054f66e2f..b316cddf0c8 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -778,10 +778,7 @@ fn write_shared( let mut themes: FxHashSet<String> = FxHashSet::default(); for entry in &cx.shared.themes { - let mut content = Vec::with_capacity(100000); - - let mut f = try_err!(File::open(&entry), &entry); - try_err!(f.read_to_end(&mut content), &entry); + let content = try_err!(fs::read(&entry), &entry); let theme = try_none!(try_none!(entry.file_stem(), &entry).to_str(), &entry); let extension = try_none!(try_none!(entry.extension(), &entry).to_str(), &entry); write(cx.dst.join(format!("{}{}.{}", theme, cx.shared.resource_suffix, extension)), @@ -881,10 +878,7 @@ themePicker.onblur = handleThemeButtonsBlur; if !options.enable_minification { try_err!(fs::copy(css, out), css); } else { - let mut f = try_err!(File::open(css), css); - let mut buffer = String::with_capacity(1000); - - try_err!(f.read_to_string(&mut buffer), css); + let buffer = try_err!(fs::read_to_string(css), css); write_minify(out, &buffer, options.enable_minification)?; } } @@ -2102,8 +2096,7 @@ impl Context { if !buf.is_empty() { try_err!(this.shared.ensure_dir(&this.dst), &this.dst); let joint_dst = this.dst.join("index.html"); - let mut dst = try_err!(File::create(&joint_dst), &joint_dst); - try_err!(dst.write_all(&buf), &joint_dst); + try_err!(fs::write(&joint_dst, buf), &joint_dst); } let m = match item.inner { @@ -2137,8 +2130,7 @@ impl Context { let file_name = &item_path(item_type, name); try_err!(self.shared.ensure_dir(&self.dst), &self.dst); let joint_dst = self.dst.join(file_name); - let mut dst = try_err!(File::create(&joint_dst), &joint_dst); - try_err!(dst.write_all(&buf), &joint_dst); + try_err!(fs::write(&joint_dst, buf), &joint_dst); if !self.render_redirect_pages { all.append(full_path(self, &item), &item_type); |
