1
Fork 0

Fix failure note to_str implementation

* Serialize the level to something a little more useful for a failure note
  struct
* Update tests accordingly
This commit is contained in:
Afnan Enayet 2019-09-13 06:48:47 -07:00
parent 3287a65fc0
commit 02c1b892c1
No known key found for this signature in database
GPG key ID: 94EEFE1FD178056B
4 changed files with 12 additions and 9 deletions

View file

@ -1144,15 +1144,18 @@ impl EmitterWriter {
buffer.prepend(0, " ", Style::NoStyle);
}
draw_note_separator(&mut buffer, 0, max_line_num_len + 1);
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
@ -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() {

View file

@ -833,7 +833,7 @@ impl Level {
Warning => "warning",
Note => "note",
Help => "help",
FailureNote => "",
FailureNote => "failure-note",
Cancelled => panic!("Shouldn't call on cancelled error"),
}
}

View file

@ -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`.
"}

View file

@ -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