Skip to content

Commit c2d9af6

Browse files
authored
Rollup merge of #76846 - botika:master, r=davidtwco
Avoiding unnecesary allocations at rustc_errors Simplify the code avoiding allocations with easy alternative
2 parents 8fa75a2 + 28cfa97 commit c2d9af6

File tree

2 files changed

+13
-21
lines changed

2 files changed

+13
-21
lines changed

compiler/rustc_errors/src/emitter.rs

+8-14
Original file line numberDiff line numberDiff line change
@@ -1227,26 +1227,22 @@ impl EmitterWriter {
12271227
}
12281228
draw_note_separator(&mut buffer, 0, max_line_num_len + 1);
12291229
if *level != Level::FailureNote {
1230-
let level_str = level.to_string();
1231-
if !level_str.is_empty() {
1232-
buffer.append(0, &level_str, Style::MainHeaderMsg);
1233-
buffer.append(0, ": ", Style::NoStyle);
1234-
}
1230+
buffer.append(0, level.to_str(), Style::MainHeaderMsg);
1231+
buffer.append(0, ": ", Style::NoStyle);
12351232
}
12361233
self.msg_to_buffer(&mut buffer, msg, max_line_num_len, "note", None);
12371234
} else {
1238-
let level_str = level.to_string();
12391235
// The failure note level itself does not provide any useful diagnostic information
1240-
if *level != Level::FailureNote && !level_str.is_empty() {
1241-
buffer.append(0, &level_str, Style::Level(*level));
1236+
if *level != Level::FailureNote {
1237+
buffer.append(0, level.to_str(), Style::Level(*level));
12421238
}
12431239
// only render error codes, not lint codes
12441240
if let Some(DiagnosticId::Error(ref code)) = *code {
12451241
buffer.append(0, "[", Style::Level(*level));
12461242
buffer.append(0, &code, Style::Level(*level));
12471243
buffer.append(0, "]", Style::Level(*level));
12481244
}
1249-
if *level != Level::FailureNote && !level_str.is_empty() {
1245+
if *level != Level::FailureNote {
12501246
buffer.append(0, ": ", header_style);
12511247
}
12521248
for &(ref text, _) in msg.iter() {
@@ -1548,11 +1544,9 @@ impl EmitterWriter {
15481544
let mut buffer = StyledBuffer::new();
15491545

15501546
// Render the suggestion message
1551-
let level_str = level.to_string();
1552-
if !level_str.is_empty() {
1553-
buffer.append(0, &level_str, Style::Level(*level));
1554-
buffer.append(0, ": ", Style::HeaderMsg);
1555-
}
1547+
buffer.append(0, level.to_str(), Style::Level(*level));
1548+
buffer.append(0, ": ", Style::HeaderMsg);
1549+
15561550
self.msg_to_buffer(
15571551
&mut buffer,
15581552
&[(suggestion.msg.to_owned(), Style::NoStyle)],

compiler/rustc_errors/src/lib.rs

+5-7
Original file line numberDiff line numberDiff line change
@@ -973,16 +973,14 @@ impl HandlerInner {
973973

974974
fn panic_if_treat_err_as_bug(&self) {
975975
if self.treat_err_as_bug() {
976-
let s = match (self.err_count(), self.flags.treat_err_as_bug.unwrap_or(0)) {
977-
(0, _) => return,
978-
(1, 1) => "aborting due to `-Z treat-err-as-bug=1`".to_string(),
979-
(1, _) => return,
980-
(count, as_bug) => format!(
976+
match (self.err_count(), self.flags.treat_err_as_bug.unwrap_or(0)) {
977+
(1, 1) => panic!("aborting due to `-Z treat-err-as-bug=1`"),
978+
(0, _) | (1, _) => {}
979+
(count, as_bug) => panic!(
981980
"aborting after {} errors due to `-Z treat-err-as-bug={}`",
982981
count, as_bug,
983982
),
984-
};
985-
panic!(s);
983+
}
986984
}
987985
}
988986
}

0 commit comments

Comments
 (0)