about summary refs log tree commit diff
path: root/src/librustc_errors
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-08-30 17:45:34 -0700
committerEsteban Küber <esteban@kuber.com.ar>2019-08-30 17:45:34 -0700
commit78f62c619006500485e96056f733d74be02cab8a (patch)
treeb24c847f0e43a1cad39aeefe2c08cabf1ada9ecf /src/librustc_errors
parent4295eea903a9e1014ee30f82930f5ec08d888077 (diff)
downloadrust-78f62c619006500485e96056f733d74be02cab8a.tar.gz
rust-78f62c619006500485e96056f733d74be02cab8a.zip
Account for rounding errors when deciding the diagnostic boundaries
Diffstat (limited to 'src/librustc_errors')
-rw-r--r--src/librustc_errors/emitter.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustc_errors/emitter.rs b/src/librustc_errors/emitter.rs
index 77d373e7a8c..fddb6c5c259 100644
--- a/src/librustc_errors/emitter.rs
+++ b/src/librustc_errors/emitter.rs
@@ -146,12 +146,12 @@ impl Margin {
             } else if self.label_right - self.span_left <= self.column_width {
                 // Attempt to fit the code window considering only the spans and labels.
                 let padding_left = (self.column_width - (self.label_right - self.span_left)) / 2;
-                self.computed_left = self.span_left - padding_left;
+                self.computed_left = max(self.span_left, padding_left) - padding_left;
                 self.computed_right = self.computed_left + self.column_width;
             } else if self.span_right - self.span_left <= self.column_width {
                 // Attempt to fit the code window considering the spans and labels plus padding.
                 let padding_left = (self.column_width - (self.span_right - self.span_left)) / 5 * 2;
-                self.computed_left = self.span_left - padding_left;
+                self.computed_left = max(self.span_left, padding_left) - padding_left;
                 self.computed_right = self.computed_left + self.column_width;
             } else { // Mostly give up but still don't show the full line.
                 self.computed_left = self.span_left;