about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2018-09-12 10:47:55 -0700
committerEsteban Küber <esteban@kuber.com.ar>2018-09-12 10:47:55 -0700
commit63cd81c7d6eecc580b72fe1b5028a35ca9e19ae1 (patch)
tree91bc767dd2d2464217fe47f41254980bec090fb2
parent5f8bf91e968b1816f9a1c746749c2136069fbcd6 (diff)
downloadrust-63cd81c7d6eecc580b72fe1b5028a35ca9e19ae1.tar.gz
rust-63cd81c7d6eecc580b72fe1b5028a35ca9e19ae1.zip
Add comment explaining reasoning
-rw-r--r--src/librustc_typeck/check/_match.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/librustc_typeck/check/_match.rs b/src/librustc_typeck/check/_match.rs
index a7b266143ba..7f65a5f0b5a 100644
--- a/src/librustc_typeck/check/_match.rs
+++ b/src/librustc_typeck/check/_match.rs
@@ -300,6 +300,8 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
                 let pat_ty = tcx.mk_ty(ty::Tuple(element_tys));
                 if let Some(mut err) = self.demand_eqtype_diag(pat.span, expected, pat_ty) {
                     err.emit();
+                    // Walk subpatterns with an expected type of `err` in this case to silence
+                    // further errors being emitted when using the bindings. #50333
                     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);