From 71f9e2e4d2dfe781237fd1a5754e82055a11594c Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Mon, 3 Oct 2016 09:28:46 -0700 Subject: [PATCH] Continue to use struct_span_err! macro --- src/librustc/infer/error_reporting.rs | 16 +++++++++++----- src/librustc/infer/mod.rs | 19 ------------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/src/librustc/infer/error_reporting.rs b/src/librustc/infer/error_reporting.rs index f157b02f14d5..7a969af3d6a9 100644 --- a/src/librustc/infer/error_reporting.rs +++ b/src/librustc/infer/error_reporting.rs @@ -577,11 +577,17 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> { terr: &TypeError<'tcx>) -> DiagnosticBuilder<'tcx> { - let mut diag = self.tcx.sess.struct_span_err_with_code( - trace.origin.span(), - trace.origin.as_failure_str(), - trace.origin.as_error_code() - ); + let span = trace.origin.span(); + let failure_str = trace.origin.as_failure_str(); + let mut diag = match trace.origin { + // FIXME: use distinct codes for each case + TypeOrigin::IfExpressionWithNoElse(_) => { + struct_span_err!(self.tcx.sess, span, E0317, "{}", failure_str) + }, + _ => { + struct_span_err!(self.tcx.sess, span, E0308, "{}", failure_str) + }, + }; self.note_type_err(&mut diag, trace.origin, None, Some(trace.values), terr); diag } diff --git a/src/librustc/infer/mod.rs b/src/librustc/infer/mod.rs index 036b3ae62846..39fc50666a8c 100644 --- a/src/librustc/infer/mod.rs +++ b/src/librustc/infer/mod.rs @@ -219,25 +219,6 @@ pub enum TypeOrigin { } impl TypeOrigin { - fn as_error_code(&self) -> &'static str { - match self { - // FIXME: use distinct codes for each case - &TypeOrigin::Misc(_) => "E0308", - &TypeOrigin::RelateOutputImplTypes(_) => "E0308", - &TypeOrigin::ExprAssignable(_) => "E0308", - &TypeOrigin::MethodCompatCheck(_) => "E0308", - &TypeOrigin::MatchExpressionArm(..) => "E0308", - &TypeOrigin::IfExpression(_) => "E0308", - &TypeOrigin::IfExpressionWithNoElse(_) => "E0317", - &TypeOrigin::RangeExpression(_) => "E0308", - &TypeOrigin::EquatePredicate(_) => "E0308", - &TypeOrigin::MainFunctionType(_) => "E0308", - &TypeOrigin::StartFunctionType(_) => "E0308", - &TypeOrigin::IntrinsicType(_) => "E0308", - &TypeOrigin::MethodReceiver(_) => "E0308", - } - } - fn as_failure_str(&self) -> &'static str { match self { &TypeOrigin::Misc(_) |