From dfe218ac970f93aa93dc566156c2a54693110208 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Mon, 6 Nov 2017 09:58:53 +0100 Subject: [PATCH] Do not highlight surrounding whitespace --- src/librustc_errors/emitter.rs | 13 +++++++------ .../block-result/unexpected-return-on-unit.stderr | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/librustc_errors/emitter.rs b/src/librustc_errors/emitter.rs index 63e13c9beeace..161ceb03f02da 100644 --- a/src/librustc_errors/emitter.rs +++ b/src/librustc_errors/emitter.rs @@ -1105,10 +1105,10 @@ impl EmitterWriter { buffer.append(0, &level.to_string(), Style::Level(level.clone())); buffer.append(0, ": ", Style::HeaderMsg); self.msg_to_buffer(&mut buffer, - &[(suggestion.msg.to_owned(), Style::NoStyle)], - max_line_num_len, - "suggestion", - Some(Style::HeaderMsg)); + &[(suggestion.msg.to_owned(), Style::NoStyle)], + max_line_num_len, + "suggestion", + Some(Style::HeaderMsg)); // Render the replacements for each suggestion let suggestions = suggestion.splice_lines(cm.borrow()); @@ -1145,8 +1145,9 @@ impl EmitterWriter { // entirety of the code being shown and the displayed code is not multiline. if show_underline { draw_col_separator(&mut buffer, row_num, max_line_num_len + 1); - let sub_len = parts[0].snippet.len(); - let underline_start = span_start_pos.col.0; + let start = parts[0].snippet.len() - parts[0].snippet.trim_left().len(); + let sub_len = parts[0].snippet.trim().len(); + let underline_start = span_start_pos.col.0 + start; let underline_end = span_start_pos.col.0 + sub_len; for p in underline_start..underline_end { buffer.putc(row_num, diff --git a/src/test/ui/block-result/unexpected-return-on-unit.stderr b/src/test/ui/block-result/unexpected-return-on-unit.stderr index 8de00af6baf37..f052883815246 100644 --- a/src/test/ui/block-result/unexpected-return-on-unit.stderr +++ b/src/test/ui/block-result/unexpected-return-on-unit.stderr @@ -13,7 +13,7 @@ help: try adding a semicolon help: try adding a return type | 18 | fn bar() -> usize { - | ^^^^^^^^^ + | ^^^^^^^^ error: aborting due to previous error