diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2019-10-24 15:44:43 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2019-10-24 15:44:43 -0700 |
| commit | 508d0326475e0ceef2ea5755a03cacf181b34d7c (patch) | |
| tree | a84831a09e4ea5240bfc105ba2443150b6d3b339 /src/librustc_errors | |
| parent | 0baf61bfdb95980c69fbfcc0fc95ce82e8d81ac9 (diff) | |
| download | rust-508d0326475e0ceef2ea5755a03cacf181b34d7c.tar.gz rust-508d0326475e0ceef2ea5755a03cacf181b34d7c.zip | |
review comment: deduplicate logic
Diffstat (limited to 'src/librustc_errors')
| -rw-r--r-- | src/librustc_errors/emitter.rs | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/src/librustc_errors/emitter.rs b/src/librustc_errors/emitter.rs index e59d6c56750..2a7f9ad25de 100644 --- a/src/librustc_errors/emitter.rs +++ b/src/librustc_errors/emitter.rs @@ -1583,27 +1583,26 @@ impl EmitterWriter { Ok(()) } - fn emit_messages_default(&mut self, - level: &Level, - message: &[(String, Style)], - code: &Option<DiagnosticId>, - span: &MultiSpan, - children: &[SubDiagnostic], - suggestions: &[CodeSuggestion]) { + fn emit_messages_default( + &mut self, + level: &Level, + message: &[(String, Style)], + code: &Option<DiagnosticId>, + span: &MultiSpan, + children: &[SubDiagnostic], + suggestions: &[CodeSuggestion], + ) { let max_line_num_len = if self.ui_testing { ANONYMIZED_LINE_NUM.len() } else { self.get_max_line_num(span, children).to_string().len() }; - match self.emit_message_default(span, - message, - code, - level, - max_line_num_len, - false) { + match self.emit_message_default(span, message, code, level, max_line_num_len, false) { Ok(()) => { - if !children.is_empty() { + if !children.is_empty() || suggestions.iter().any(|s| { + s.style != SuggestionStyle::CompletelyHidden + }) { let mut buffer = StyledBuffer::new(); if !self.short_message { draw_col_separator_no_space(&mut buffer, 0, max_line_num_len + 1); @@ -1629,19 +1628,6 @@ impl EmitterWriter { _ => () } } - if children.is_empty() && suggestions.iter().any(|s| { - s.style != SuggestionStyle::CompletelyHidden - }) { - let mut buffer = StyledBuffer::new(); - if !self.short_message { - draw_col_separator_no_space(&mut buffer, 0, max_line_num_len + 1); - } - match emit_to_destination(&buffer.render(), level, &mut self.dst, - self.short_message) { - Ok(()) => (), - Err(e) => panic!("failed to emit error: {}", e) - } - } for sugg in suggestions { if sugg.style == SuggestionStyle::CompletelyHidden { // do not display this suggestion, it is meant only for tools |
