test: snapshot for derive suggestion in diff files

This commit is contained in:
bohan 2023-02-04 18:55:33 +08:00
parent 7ba4e95368
commit 7615045ebd
3 changed files with 135 additions and 11 deletions

View file

@ -1796,17 +1796,17 @@ fn emit_suggestion_default(
// telling users to make a change but not clarifying *where*.
let loc = sm.lookup_char_pos(parts[0].span.lo());
if loc.file.name != sm.span_to_filename(span) && loc.file.name.is_real() {
buffer.puts(row_num - 1, 0, "--> ", Style::LineNumber);
buffer.append(
row_num - 1,
&format!(
"{}:{}:{}",
sm.filename_for_diagnostics(&loc.file.name),
sm.doctest_offset_line(&loc.file.name, loc.line),
loc.col.0 + 1,
),
Style::LineAndColumn,
);
let arrow = "--> ";
buffer.puts(row_num - 1, 0, arrow, Style::LineNumber);
let filename = sm.filename_for_diagnostics(&loc.file.name);
let offset = sm.doctest_offset_line(&loc.file.name, loc.line);
let message = format!("{}:{}:{}", filename, offset, loc.col.0 + 1);
if row_num == 2 {
let col = usize::max(max_line_num_len + 1, arrow.len());
buffer.puts(1, col, &message, Style::LineAndColumn);
} else {
buffer.append(row_num - 1, &message, Style::LineAndColumn);
}
for _ in 0..max_line_num_len {
buffer.prepend(row_num - 1, " ", Style::NoStyle);
}

View file

@ -0,0 +1,106 @@
// compile-flags: -Z ui-testing=no
#[path = "auxiliary/dummy_lib.rs"]
mod lib;
/// The function needs to be long enough to
/// ensure `max_line_num_len` to be large enough
/// for no-ui-testing
fn main() {
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
();
dbg!(lib::Dummy); //~ Error: `Dummy` doesn't implement `Debug`
}

View file

@ -0,0 +1,18 @@
error[E0277]: `Dummy` doesn't implement `Debug`
--> $DIR/issue-107649.rs:105:5
|
105 | dbg!(lib::Dummy);
| ^^^^^^^^^^^^^^^^ `Dummy` cannot be formatted using `{:?}`
|
= help: the trait `Debug` is not implemented for `Dummy`
= note: add `#[derive(Debug)]` to `Dummy` or manually `impl Debug for Dummy`
= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `dbg` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `Dummy` with `#[derive(Debug)]`
--> $DIR/auxiliary/dummy_lib.rs:2:1
|
2 | #[derive(Debug)]
|
error: aborting due to previous error
For more information about this error, try `rustc --explain E0277`.