diff options
| author | John Firebaugh <john.firebaugh@gmail.com> | 2016-10-03 09:28:46 -0700 |
|---|---|---|
| committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-10-03 09:28:46 -0700 |
| commit | 71f9e2e4d2dfe781237fd1a5754e82055a11594c (patch) | |
| tree | 4e5ef4c2ebbfc171a2d673a7f5dc9787174ca288 /src | |
| parent | 9f7cc5faa0e9c9b865a95aa1fb0725528b95595e (diff) | |
| download | rust-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.rs | 16 | ||||
| -rw-r--r-- | 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 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(_) | |
