Skip to content

Commit 7986bb8

Browse files
Don't warn about invalid HTML tags in code blocks
1 parent 603ab5b commit 7986bb8

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/librustdoc/passes/html_tags.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use crate::core::DocContext;
44
use crate::fold::DocFolder;
55
use crate::html::markdown::opts;
66
use core::ops::Range;
7-
use pulldown_cmark::{Event, Parser};
7+
use pulldown_cmark::{Event, Parser, Tag};
88
use rustc_session::lint;
99
use std::iter::Peekable;
1010
use std::str::CharIndices;
@@ -196,14 +196,17 @@ impl<'a, 'tcx> DocFolder for InvalidHtmlTagsLinter<'a, 'tcx> {
196196

197197
let mut tags = Vec::new();
198198
let mut is_in_comment = None;
199+
let mut in_code_block = false;
199200

200201
let p = Parser::new_ext(&dox, opts()).into_offset_iter();
201202

202203
for (event, range) in p {
203204
match event {
204-
Event::Html(text) | Event::Text(text) => {
205+
Event::Start(Tag::CodeBlock(_)) => in_code_block = true,
206+
Event::Html(text) | Event::Text(text) if !in_code_block => {
205207
extract_tags(&mut tags, &text, range, &mut is_in_comment, &report_diag)
206208
}
209+
Event::End(Tag::CodeBlock(_)) => in_code_block = false,
207210
_ => {}
208211
}
209212
}

0 commit comments

Comments
 (0)