From b216122297955746999616f9c06e85d7a4e647ce Mon Sep 17 00:00:00 2001 From: mdinger Date: Fri, 21 Nov 2014 18:24:34 -0500 Subject: [PATCH] Align error messages --- src/librustc/middle/ty.rs | 4 +++- src/librustc/middle/typeck/infer/error_reporting.rs | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index e9319e29555d5..af741476feb78 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -4177,7 +4177,9 @@ pub fn type_err_to_str<'tcx>(cx: &ctxt<'tcx>, err: &type_err<'tcx>) -> String { if expected_str == found_str { format!("expected {}, found a different {}", expected_str, found_str) } else { - format!("expected {}, found {}", expected_str, found_str) + format!("expected `{}`,\n found `{}`", expected_str, found_str) + // `expected` will be preceded by either a space or a `(` so the following + // line needs 4 spaces to align both `{}` sets: issue 18946 } } terr_traits(values) => { diff --git a/src/librustc/middle/typeck/infer/error_reporting.rs b/src/librustc/middle/typeck/infer/error_reporting.rs index bc36a2bd801b4..f8289867c353d 100644 --- a/src/librustc/middle/typeck/infer/error_reporting.rs +++ b/src/librustc/middle/typeck/infer/error_reporting.rs @@ -372,7 +372,8 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> { self.tcx.sess.span_err( trace.origin.span(), - format!("{}: {} ({})", + format!("{}:\n {}\n({})", + // ^ Space to align both sets of `{}`: issue 18946 message_root_str, expected_found_str, ty::type_err_to_str(self.tcx, terr)).as_slice()); @@ -417,7 +418,9 @@ impl<'a, 'tcx> ErrorReporting<'tcx> for InferCtxt<'a, 'tcx> { return None; } - Some(format!("expected `{}`, found `{}`", + Some(format!("expected `{}`,\n found `{}`", + // `expected` will be preceded by either a space or a `(` so the + // following line needs 4 spaces to align both `{}` sets: issue 18946 expected.user_string(self.tcx), found.user_string(self.tcx))) }