diff options
| author | Alex Macleod <alex@macleod.io> | 2023-09-08 22:39:20 +0000 |
|---|---|---|
| committer | Alex Macleod <alex@macleod.io> | 2023-09-08 23:42:57 +0000 |
| commit | caaf1eb88789081ece8cf4d9357be56667d7a897 (patch) | |
| tree | abcfc71e2db72380acf08af22b703ffe7d42ba26 /src/librustdoc/passes/lint/check_code_block_syntax.rs | |
| parent | 309af3442a1808888e3ceb2eacccbf4140eba1e0 (diff) | |
| download | rust-caaf1eb88789081ece8cf4d9357be56667d7a897.tar.gz rust-caaf1eb88789081ece8cf4d9357be56667d7a897.zip | |
Reuse rustdoc's doc comment handling in Clippy
Diffstat (limited to 'src/librustdoc/passes/lint/check_code_block_syntax.rs')
| -rw-r--r-- | src/librustdoc/passes/lint/check_code_block_syntax.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/librustdoc/passes/lint/check_code_block_syntax.rs b/src/librustdoc/passes/lint/check_code_block_syntax.rs index 37e28e1fbca..316b1a41c7d 100644 --- a/src/librustdoc/passes/lint/check_code_block_syntax.rs +++ b/src/librustdoc/passes/lint/check_code_block_syntax.rs @@ -6,6 +6,7 @@ use rustc_errors::{ Applicability, Diagnostic, Handler, LazyFallbackBundle, }; use rustc_parse::parse_stream_from_source_str; +use rustc_resolve::rustdoc::source_span_for_markdown_range; use rustc_session::parse::ParseSess; use rustc_span::hygiene::{AstPass, ExpnData, ExpnKind, LocalExpnId}; use rustc_span::source_map::{FilePathMapping, SourceMap}; @@ -14,7 +15,6 @@ use rustc_span::{FileName, InnerSpan, DUMMY_SP}; use crate::clean; use crate::core::DocContext; use crate::html::markdown::{self, RustCodeBlock}; -use crate::passes::source_span_for_markdown_range; pub(crate) fn visit_item(cx: &DocContext<'_>, item: &clean::Item) { if let Some(dox) = &item.opt_doc_value() { @@ -77,11 +77,15 @@ fn check_rust_syntax( let is_ignore = code_block.lang_string.ignore != markdown::Ignore::None; // The span and whether it is precise or not. - let (sp, precise_span) = - match source_span_for_markdown_range(cx.tcx, dox, &code_block.range, &item.attrs) { - Some(sp) => (sp, true), - None => (item.attr_span(cx.tcx), false), - }; + let (sp, precise_span) = match source_span_for_markdown_range( + cx.tcx, + dox, + &code_block.range, + &item.attrs.doc_strings, + ) { + Some(sp) => (sp, true), + None => (item.attr_span(cx.tcx), false), + }; let msg = if buffer.has_errors { "could not parse code block as Rust code" |
