about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-10-03 09:28:46 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-10-03 09:28:46 -0700
commit71f9e2e4d2dfe781237fd1a5754e82055a11594c (patch)
tree4e5ef4c2ebbfc171a2d673a7f5dc9787174ca288 /src
parent9f7cc5faa0e9c9b865a95aa1fb0725528b95595e (diff)
downloadrust-71f9e2e4d2dfe781237fd1a5754e82055a11594c.tar.gz
rust-71f9e2e4d2dfe781237fd1a5754e82055a11594c.zip
Continue to use struct_span_err! macro
Diffstat (limited to 'src')
-rw-r--r--src/librustc/infer/error_reporting.rs16
-rw-r--r--src/librustc/infer/mod.rs19
2 files changed, 11 insertions, 24 deletions
diff --git a/src/librustc/infer/error_reporting.rs b/src/librustc/infer/error_reporting.rs
index f157b02f14d..7a969af3d6a 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 036b3ae6284..39fc50666a8 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(_) |