diff options
| author | Yotam Ofek <yotam.ofek@gmail.com> | 2025-01-14 11:45:21 +0000 |
|---|---|---|
| committer | Yotam Ofek <yotam.ofek@gmail.com> | 2025-01-22 05:13:38 +0000 |
| commit | 73fc7af716d614eb88cff01017ac56e700d03aaa (patch) | |
| tree | 66b0888e1cead86dbb5b0bbd2dfc1fd658925535 /src | |
| parent | cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3 (diff) | |
| download | rust-73fc7af716d614eb88cff01017ac56e700d03aaa.tar.gz rust-73fc7af716d614eb88cff01017ac56e700d03aaa.zip | |
rustdoc: pass around decoration info by ref
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/html/highlight.rs | 10 | ||||
| -rw-r--r-- | src/librustdoc/html/highlight/tests.rs | 2 | ||||
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 2 | ||||
| -rw-r--r-- | src/librustdoc/html/sources.rs | 4 |
4 files changed, 9 insertions, 9 deletions
diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs index 62cf2b63f7f..7b2aee4b4a5 100644 --- a/src/librustdoc/html/highlight.rs +++ b/src/librustdoc/html/highlight.rs @@ -233,7 +233,7 @@ pub(super) fn write_code( out: &mut impl Write, src: &str, href_context: Option<HrefContext<'_, '_>>, - decoration_info: Option<DecorationInfo>, + decoration_info: Option<&DecorationInfo>, ) { // This replace allows to fix how the code source with DOS backline characters is displayed. let src = src.replace("\r\n", "\n"); @@ -510,12 +510,12 @@ struct Decorations { } impl Decorations { - fn new(info: DecorationInfo) -> Self { + fn new(info: &DecorationInfo) -> Self { // Extract tuples (start, end, kind) into separate sequences of (start, kind) and (end). let (mut starts, mut ends): (Vec<_>, Vec<_>) = info .0 - .into_iter() - .flat_map(|(kind, ranges)| ranges.into_iter().map(move |(lo, hi)| ((lo, kind), hi))) + .iter() + .flat_map(|(&kind, ranges)| ranges.into_iter().map(move |&(lo, hi)| ((lo, kind), hi))) .unzip(); // Sort the sequences in document order. @@ -542,7 +542,7 @@ struct Classifier<'src> { impl<'src> Classifier<'src> { /// Takes as argument the source code to HTML-ify, the rust edition to use and the source code /// file span which will be used later on by the `span_correspondence_map`. - fn new(src: &str, file_span: Span, decoration_info: Option<DecorationInfo>) -> Classifier<'_> { + fn new(src: &'src str, file_span: Span, decoration_info: Option<&DecorationInfo>) -> Self { let tokens = PeekIter::new(TokenIter { src, cursor: Cursor::new(src) }); let decorations = decoration_info.map(Decorations::new); Classifier { diff --git a/src/librustdoc/html/highlight/tests.rs b/src/librustdoc/html/highlight/tests.rs index fd5275189d6..fccbb98f80f 100644 --- a/src/librustdoc/html/highlight/tests.rs +++ b/src/librustdoc/html/highlight/tests.rs @@ -78,7 +78,7 @@ let a = 4;"; decorations.insert("example2", vec![(22, 32)]); let mut html = Buffer::new(); - write_code(&mut html, src, None, Some(DecorationInfo(decorations))); + write_code(&mut html, src, None, Some(&DecorationInfo(decorations))); expect_file!["fixtures/decorations.html"].assert_eq(&html.into_inner()); }); } diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 9a9ce31caaa..8966001c3d6 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -2577,7 +2577,7 @@ fn render_call_locations<W: fmt::Write>(mut w: W, cx: &Context<'_>, item: &clean file_span, cx, &cx.root_path(), - highlight::DecorationInfo(decoration_info), + &highlight::DecorationInfo(decoration_info), sources::SourceContext::Embedded(sources::ScrapedInfo { needs_expansion, offset: line_min, diff --git a/src/librustdoc/html/sources.rs b/src/librustdoc/html/sources.rs index 9827f97d28d..d13822b7b62 100644 --- a/src/librustdoc/html/sources.rs +++ b/src/librustdoc/html/sources.rs @@ -249,7 +249,7 @@ impl SourceCollector<'_, '_> { file_span, self.cx, &root_path, - highlight::DecorationInfo::default(), + &highlight::DecorationInfo::default(), SourceContext::Standalone { file_path }, ) }, @@ -328,7 +328,7 @@ pub(crate) fn print_src( file_span: rustc_span::Span, context: &Context<'_>, root_path: &str, - decoration_info: highlight::DecorationInfo, + decoration_info: &highlight::DecorationInfo, source_context: SourceContext<'_>, ) { let current_href = context |
