about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2021-11-26 09:14:16 -0600
committerAaron Hill <aa1ronham@gmail.com>2021-11-27 11:33:55 -0600
commitd18065d9978fd8c961d3cb58a6b22b9c33ba6dc8 (patch)
treee499d4746825acde53712854a33cf364f9a0672d /compiler/rustc_codegen_llvm/src
parent5fd3a5c7c175f228afaf5fc6ff00c177b83d8055 (diff)
downloadrust-d18065d9978fd8c961d3cb58a6b22b9c33ba6dc8.tar.gz
rust-d18065d9978fd8c961d3cb58a6b22b9c33ba6dc8.zip
Only check for errors in predicate when skipping impl assembly
Prior to PR #91205, checking for errors in the overall obligation
would check checking the `ParamEnv`, due to an incorrect
`super_visit_with` impl. With this bug fixed, we will now
bail out of impl candidate assembly if the `ParamEnv` contains
any error types.

In practice, this appears to be overly conservative - when an error
occurs early in compilation, we end up giving up early for some
predicates that we could have successfully evaluated without overflow.
By only checking for errors in the predicate itself, we avoid causing
additional spurious 'type annotations needed' errors after a 'real'
error has already occurred.

With this PR, the diagnostic changes caused by PR #91205 are reverted.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions