diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-03-10 12:20:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-10 12:20:54 +0100 |
| commit | 6bbaca7d030b2c778a7a7b9762f3afb2a2408ff5 (patch) | |
| tree | 105db756b12dd627ca64493bdf505fc263acec05 /compiler/rustc_errors/src | |
| parent | e7281d08de338fc091ce12f90b48d7b4de50a138 (diff) | |
| parent | ac2afa033443cd697e92b17e5a5263bd9640d9d0 (diff) | |
| download | rust-6bbaca7d030b2c778a7a7b9762f3afb2a2408ff5.tar.gz rust-6bbaca7d030b2c778a7a7b9762f3afb2a2408ff5.zip | |
Rollup merge of #94788 - estebank:removal-suggestion, r=petrochenkov
Account for suggestions for complete removal of lines Fix #94192.
Diffstat (limited to 'compiler/rustc_errors/src')
| -rw-r--r-- | compiler/rustc_errors/src/emitter.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/compiler/rustc_errors/src/emitter.rs b/compiler/rustc_errors/src/emitter.rs index 52c44231d8f..831d408195e 100644 --- a/compiler/rustc_errors/src/emitter.rs +++ b/compiler/rustc_errors/src/emitter.rs @@ -1657,6 +1657,31 @@ impl EmitterWriter { let line_start = sm.lookup_char_pos(parts[0].span.lo()).line; draw_col_separator_no_space(&mut buffer, 1, max_line_num_len + 1); let mut lines = complete.lines(); + if lines.clone().next().is_none() { + // Account for a suggestion to completely remove a line(s) with whitespace (#94192). + let line_end = sm.lookup_char_pos(parts[0].span.hi()).line; + for line in line_start..=line_end { + buffer.puts( + row_num - 1 + line - line_start, + 0, + &self.maybe_anonymized(line), + Style::LineNumber, + ); + buffer.puts( + row_num - 1 + line - line_start, + max_line_num_len + 1, + "- ", + Style::Removal, + ); + buffer.puts( + row_num - 1 + line - line_start, + max_line_num_len + 3, + &normalize_whitespace(&*file_lines.file.get_line(line - 1).unwrap()), + Style::Removal, + ); + } + row_num += line_end - line_start; + } for (line_pos, (line, highlight_parts)) in lines.by_ref().zip(highlights).take(MAX_SUGGESTION_HIGHLIGHT_LINES).enumerate() { |
