1
Fork 0

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