about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2025-01-03 07:57:26 +0100
committerGitHub <noreply@github.com>2025-01-03 07:57:26 +0100
commite0f4dc955a115598d963996d17147bbfb85a3006 (patch)
tree117ad59f2e25cc18b9d376ecea9610b4ebf25c2f /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parente11d5f88a20cfa402987ba0de0fa2e9ff4e8206e (diff)
parent93bb639ad6b02a68e1681b96351badf8b6a33fa3 (diff)
downloadrust-e0f4dc955a115598d963996d17147bbfb85a3006.tar.gz
rust-e0f4dc955a115598d963996d17147bbfb85a3006.zip
Rollup merge of #135042 - lukas-code:taint-dyn-incompat, r=compiler-errors
taint fcx on selection errors during unsizing

With `feature(dyn_compatible_for_dispatch)` we only check for dyn-compatibility by checking the `T: Unsize<dyn Trait>` predicate during the unsizing coercions checks. If the predicate doesn't hold, we emit an error, but pretend the coercion succeeded to prevent further errors. To prevent const eval from attempting to actually perform this coercion, we need to taint the fcx after reporting the trait errors in the coercion check.

fixes https://github.com/rust-lang/rust/issues/135021
fixes https://github.com/rust-lang/rust/issues/130521
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions