diff options
| author | Roc Yu <rocyu@protonmail.com> | 2022-04-09 19:14:29 -0400 |
|---|---|---|
| committer | Roc Yu <rocyu@protonmail.com> | 2022-04-09 19:14:29 -0400 |
| commit | 8e15b6cfdeeb36aae27518ce6446452392ebc021 (patch) | |
| tree | da5e56193db49ee4bc2247e7da6da114d0465aa4 /src/librustdoc/html | |
| parent | 8bf93e9b6791acee3a594ed202fdfe45ad9952b5 (diff) | |
| download | rust-8e15b6cfdeeb36aae27518ce6446452392ebc021.tar.gz rust-8e15b6cfdeeb36aae27518ce6446452392ebc021.zip | |
rustdoc: Reduce allocations in a `html::markdown` function
Diffstat (limited to 'src/librustdoc/html')
| -rw-r--r-- | src/librustdoc/html/markdown.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index 3a3d61b1e67..943c521485b 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -251,7 +251,7 @@ impl<'a, I: Iterator<Item = Event<'a>>> Iterator for CodeBlocks<'_, 'a, I> { } } let lines = origtext.lines().filter_map(|l| map_line(l).for_html()); - let text = lines.collect::<Vec<Cow<'_, str>>>().join("\n"); + let text = lines.intersperse("\n".into()).collect::<String>(); let parse_result = match kind { CodeBlockKind::Fenced(ref lang) => { @@ -291,15 +291,13 @@ impl<'a, I: Iterator<Item = Event<'a>>> Iterator for CodeBlocks<'_, 'a, I> { let test = origtext .lines() .map(|l| map_line(l).for_code()) - .collect::<Vec<Cow<'_, str>>>() - .join("\n"); + .intersperse("\n".into()) + .collect::<String>(); let krate = krate.as_ref().map(|s| &**s); let (test, _, _) = doctest::make_test(&test, krate, false, &Default::default(), edition, None); let channel = if test.contains("#