about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2018-09-11 17:06:11 -0700
committerEsteban Küber <esteban@kuber.com.ar>2018-09-11 17:09:23 -0700
commit5f8bf91e968b1816f9a1c746749c2136069fbcd6 (patch)
treeb176be56b3f0559806f83c0142d46808cd29ded3
parent633a47becb0a64156694827fa44481b16cb4c891 (diff)
downloadrust-5f8bf91e968b1816f9a1c746749c2136069fbcd6.tar.gz
rust-5f8bf91e968b1816f9a1c746749c2136069fbcd6.zip
address review comment, reduce scope
-rw-r--r--src/librustc_typeck/check/_match.rs4
-rw-r--r--src/librustc_typeck/check/demand.rs1
2 files changed, 2 insertions, 3 deletions
diff --git a/src/librustc_typeck/check/_match.rs b/src/librustc_typeck/check/_match.rs
index b7b1751a8ea..a7b266143ba 100644
--- a/src/librustc_typeck/check/_match.rs
+++ b/src/librustc_typeck/check/_match.rs
@@ -298,8 +298,8 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
                     TypeVariableOrigin::TypeInference(pat.span)));
                 let element_tys = tcx.mk_type_list(element_tys_iter);
                 let pat_ty = tcx.mk_ty(ty::Tuple(element_tys));
-                self.demand_eqtype(pat.span, expected, pat_ty);
-                if self.has_errors.get() {
+                if let Some(mut err) = self.demand_eqtype_diag(pat.span, expected, pat_ty) {
+                    err.emit();
                     let element_tys_iter = (0..max_len).map(|_| tcx.types.err);
                     for (_, elem) in elements.iter().enumerate_and_adjust(max_len, ddpos) {
                         self.check_pat_walk(elem, &tcx.types.err, def_bm, true);
diff --git a/src/librustc_typeck/check/demand.rs b/src/librustc_typeck/check/demand.rs
index 47bbc95aa49..4e22ead8db9 100644
--- a/src/librustc_typeck/check/demand.rs
+++ b/src/librustc_typeck/check/demand.rs
@@ -50,7 +50,6 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
 
     pub fn demand_eqtype(&self, sp: Span, expected: Ty<'tcx>, actual: Ty<'tcx>) {
         if let Some(mut err) = self.demand_eqtype_diag(sp, expected, actual) {
-            self.has_errors.set(true);
             err.emit();
         }
     }