diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2018-09-12 10:47:55 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2018-09-12 10:47:55 -0700 |
| commit | 63cd81c7d6eecc580b72fe1b5028a35ca9e19ae1 (patch) | |
| tree | 91bc767dd2d2464217fe47f41254980bec090fb2 | |
| parent | 5f8bf91e968b1816f9a1c746749c2136069fbcd6 (diff) | |
| download | rust-63cd81c7d6eecc580b72fe1b5028a35ca9e19ae1.tar.gz rust-63cd81c7d6eecc580b72fe1b5028a35ca9e19ae1.zip | |
Add comment explaining reasoning
| -rw-r--r-- | src/librustc_typeck/check/_match.rs | 2 |
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); |
