about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc/src/errors.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-12-17 16:28:37 +0000
committerbors <bors@rust-lang.org>2023-12-17 16:28:37 +0000
commitd14e52b47ab27bcc3c3e083ed5f009a57db63eff (patch)
tree957393900fddfc8cd487d8386067c6350da84fd3 /compiler/rustc_codegen_gcc/src/errors.rs
parent3a2aa5854cbeb6fea24d6d0175d16c734aa9302e (diff)
parent64e311add2361600d22688554f0229fdf5a19ba3 (diff)
downloadrust-d14e52b47ab27bcc3c3e083ed5f009a57db63eff.tar.gz
rust-d14e52b47ab27bcc3c3e083ed5f009a57db63eff.zip
Auto merge of #117884 - bvanjoi:fix-117794, r=compiler-errors
skip rpit constraint checker if borrowck return type error

Fixes #117794
Fixes #117886
Fixes #119025

Prior to change #117418, the value of `concrete_opaque_types` for `mir_borrock(T::a::opaque)` was `None`. However, due to modifications in `body.local_decls`, the return value had been changed.

The changed of `body.local_decls` has let to the addition of `ty:Error` to `infcx.opaque_type_storage.opaque_types` during `TypeChecker::equate_inputs_and_outputs`. This is due to it utilizing the output of a function signature that was appended during `construct_error`(which previously only appended a `ty::Error`) and then execute `TypeChecker::Related_types`.

Therefore, in this PR, I've implemented a condition to bypass the rpit check when an error is encountered.

r? `@compiler-errors`
Diffstat (limited to 'compiler/rustc_codegen_gcc/src/errors.rs')
0 files changed, 0 insertions, 0 deletions