diff --git a/Cargo.lock b/Cargo.lock index 961a3ba9f19..cfba7d3fd40 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2154,7 +2154,7 @@ dependencies = [ "log", "memchr", "opener", - "pulldown-cmark", + "pulldown-cmark 0.8.0", "regex", "serde", "serde_derive", @@ -2813,6 +2813,17 @@ dependencies = [ "unicase", ] +[[package]] +name = "pulldown-cmark" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acd16514d1af5f7a71f909a44ef253cdb712a376d7ebc8ae4a471a9be9743548" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + [[package]] name = "punycode" version = "0.4.1" @@ -4615,7 +4626,7 @@ dependencies = [ "expect-test", "itertools 0.9.0", "minifier", - "pulldown-cmark", + "pulldown-cmark 0.9.0", "rayon", "regex", "rustdoc-json-types", diff --git a/src/librustdoc/Cargo.toml b/src/librustdoc/Cargo.toml index 268905bcb53..578cf70d491 100644 --- a/src/librustdoc/Cargo.toml +++ b/src/librustdoc/Cargo.toml @@ -8,7 +8,7 @@ path = "lib.rs" [dependencies] arrayvec = { version = "0.7", default-features = false } -pulldown-cmark = { version = "0.8", default-features = false } +pulldown-cmark = { version = "0.9", default-features = false } minifier = "0.0.41" rayon = "1.3.1" serde = { version = "1.0", features = ["derive"] } diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index 545b409175e..3fd9c0a1944 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -538,7 +538,7 @@ impl<'a, 'b, 'ids, I: Iterator>> Iterator } let event = self.inner.next(); - if let Some((Event::Start(Tag::Heading(level)), _)) = event { + if let Some((Event::Start(Tag::Heading(level, _, _)), _)) = event { let mut id = String::new(); for event in &mut self.inner { match &event.0 { @@ -560,7 +560,8 @@ impl<'a, 'b, 'ids, I: Iterator>> Iterator self.buf.push_front((Event::Html(format!("{} ", sec).into()), 0..0)); } - let level = std::cmp::min(level + (self.heading_offset as u32), MAX_HEADER_LEVEL); + let level = + std::cmp::min(level as u32 + (self.heading_offset as u32), MAX_HEADER_LEVEL); self.buf.push_back((Event::Html(format!("", level).into()), 0..0)); let start_tags = format!( @@ -773,7 +774,7 @@ crate fn find_testable_code( tests.add_test(text, block_info, line); prev_offset = offset.start; } - Event::Start(Tag::Heading(level)) => { + Event::Start(Tag::Heading(level, _, _)) => { register_header = Some(level as u32); } Event::Text(ref s) if register_header.is_some() => { @@ -1053,7 +1054,7 @@ impl Markdown<'_> { let mut replacer = |broken_link: BrokenLink<'_>| { links .iter() - .find(|link| &*link.original_text == broken_link.reference) + .find(|link| link.original_text.as_str() == &*broken_link.reference) .map(|link| (link.href.as_str().into(), link.new_text.as_str().into())) }; @@ -1134,7 +1135,7 @@ impl MarkdownSummaryLine<'_> { let mut replacer = |broken_link: BrokenLink<'_>| { links .iter() - .find(|link| &*link.original_text == broken_link.reference) + .find(|link| link.original_text.as_str() == &*broken_link.reference) .map(|link| (link.href.as_str().into(), link.new_text.as_str().into())) }; @@ -1168,7 +1169,7 @@ fn markdown_summary_with_limit( let mut replacer = |broken_link: BrokenLink<'_>| { link_names .iter() - .find(|link| &*link.original_text == broken_link.reference) + .find(|link| link.original_text.as_str() == &*broken_link.reference) .map(|link| (link.href.as_str().into(), link.new_text.as_str().into())) }; @@ -1311,10 +1312,10 @@ crate fn markdown_links(md: &str) -> Vec { }; let mut push = |link: BrokenLink<'_>| { - let span = span_for_link(&CowStr::Borrowed(link.reference), link.span); + let span = span_for_link(&link.reference, link.span); links.borrow_mut().push(MarkdownLink { kind: LinkType::ShortcutUnknown, - link: link.reference.to_owned(), + link: link.reference.to_string(), range: span, }); None