Skip to content

Commit

Permalink
Fix failure note to_str implementation
Browse files Browse the repository at this point in the history
* Serialize the level to something a little more useful for a failure note
  struct
* Update tests accordingly
  • Loading branch information
afnanenayet committed Sep 17, 2019
1 parent 3287a65 commit 02c1b89
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 9 deletions.
15 changes: 9 additions & 6 deletions src/librustc_errors/emitter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1144,15 +1144,18 @@ impl EmitterWriter {
buffer.prepend(0, " ", Style::NoStyle);
}
draw_note_separator(&mut buffer, 0, max_line_num_len + 1);
let level_str = level.to_string();
if !level_str.is_empty() {
buffer.append(0, &level_str, Style::MainHeaderMsg);
buffer.append(0, ": ", Style::NoStyle);
if *level != Level::FailureNote {
let level_str = level.to_string();
if !level_str.is_empty() {
buffer.append(0, &level_str, Style::MainHeaderMsg);
buffer.append(0, ": ", Style::NoStyle);
}
}
self.msg_to_buffer(&mut buffer, msg, max_line_num_len, "note", None);
} else {
let level_str = level.to_string();
if !level_str.is_empty() {
// The failure note level itself does not provide any useful diagnostic information
if *level != Level::FailureNote && !level_str.is_empty() {
buffer.append(0, &level_str, Style::Level(level.clone()));
}
// only render error codes, not lint codes
Expand All @@ -1161,7 +1164,7 @@ impl EmitterWriter {
buffer.append(0, &code, Style::Level(level.clone()));
buffer.append(0, "]", Style::Level(level.clone()));
}
if !level_str.is_empty() {
if *level != Level::FailureNote && !level_str.is_empty() {
buffer.append(0, ": ", header_style);
}
for &(ref text, _) in msg.iter() {
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_errors/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -833,7 +833,7 @@ impl Level {
Warning => "warning",
Note => "note",
Help => "help",
FailureNote => "",
FailureNote => "failure-note",
Cancelled => panic!("Shouldn't call on cancelled error"),
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/json-short.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ started: https://doc.rust-lang.org/book/
"}
{"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error
"}
{"message":"For more information about this error, try `rustc --explain E0601`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0601`.
{"message":"For more information about this error, try `rustc --explain E0601`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0601`.
"}
2 changes: 1 addition & 1 deletion src/test/ui/lint/use_suggestion_json.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ mod foo {
{
"message": "For more information about this error, try `rustc --explain E0412`.",
"code": null,
"level": "",
"level": "failure-note",
"spans": [],
"children": [],
"rendered": "\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0412`.\u001b[0m
Expand Down

0 comments on commit 02c1b89

Please sign in to comment.