Ensure we don't accidentally succeed when we want to report an error · rust-lang/rust@3f2f843 (original) (raw)

File tree

1 file changed

lines changed

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) => {