Rollup merge of #126673 - oli-obk:dont_rely_on_err_reporting, r=compi… · rust-lang/rust@49bdf46 (original) (raw)
File tree
1 file changed
lines changed
- compiler/rustc_hir_typeck/src
1 file changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1245,11 +1245,11 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { | ||
1245 | 1245 | expr, |
1246 | 1246 | ); |
1247 | 1247 | |
1248 | -return self | |
1248 | +return Err(self | |
1249 | 1249 | .commit_if_ok(|_ |
1250 | -self.at(cause, self.param_env).lub(DefineOpaqueTypes::No, prev_ty, new_ty) | |
1250 | +self.at(cause, self.param_env).lub(DefineOpaqueTypes::Yes, prev_ty, new_ty) | |
1251 | 1251 | }) |
1252 | -.map(|ok | |
1252 | +.unwrap_err()); | |
1253 | 1253 | } |
1254 | 1254 | } |
1255 | 1255 | |
@@ -1259,10 +1259,15 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { | ||
1259 | 1259 | if let Some(e) = first_error { |
1260 | 1260 | Err(e) |
1261 | 1261 | } else { |
1262 | -self.commit_if_ok(|_ | |
1263 | -self.at(cause, self.param_env).lub(DefineOpaqueTypes::No, prev_ty, new_ty) | |
1264 | -}) | |
1265 | -.map(|ok | |
1262 | +Err(self | |
1263 | +.commit_if_ok(|_ | |
1264 | +self.at(cause, self.param_env).lub( | |
1265 | +DefineOpaqueTypes::Yes, | |
1266 | + prev_ty, | |
1267 | + new_ty, | |
1268 | +) | |
1269 | +}) | |
1270 | +.unwrap_err()) | |
1266 | 1271 | } |
1267 | 1272 | } |
1268 | 1273 | Ok(ok) => { |