about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/errors.rs
diff options
context:
space:
mode:
authorMatthias Krüger <476013+matthiaskrgr@users.noreply.github.com>2025-03-11 19:35:29 +0100
committerGitHub <noreply@github.com>2025-03-11 19:35:29 +0100
commitcaa2d008f9f4f579fa54634f94bc0e5bf447215e (patch)
treeaff124dfefbc3eb6ba363c5702e610b9734f77e9 /compiler/rustc_codegen_llvm/src/errors.rs
parentc007d0af6ac051fa4f6a80a9366a27037b028770 (diff)
parent8546e015b4a04e9c397478ae1e27a5370d2c638b (diff)
downloadrust-caa2d008f9f4f579fa54634f94bc0e5bf447215e.tar.gz
rust-caa2d008f9f4f579fa54634f94bc0e5bf447215e.zip
Rollup merge of #138231 - Sa4dUs:autodiff-ice, r=ZuseZ4
Prevent ICE in autodiff validation by emitting user-friendly errors

This PR moves `valid_ret_activity` and `valid_input_activity` checks to the macro expansion phase in compiler/rustc_builtin_macros/src/autodiff.rs, replacing the following internal compiler error (ICE):
```
error: internal compiler error:
compiler/rustc_codegen_ssa/src/codegen_attrs.rs:935:13:
Invalid input activity Dual for Reverse mode
```
with a more user-friendly message.

The issue specifically affected the test file `tests/ui/autodiff/autodiff_illegal.rs`, impacting the functions `f5` and `f6`.

The ICE can be reproduced by following [Enzyme's Rustbook](https://enzymead.github.io/rustbook/installation.html) installation guide.

Additionally, this PR adds tests for invalid return activity in `autodiff_illegal.rs`, which previously triggered an unnoticed ICE before these fixes.

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