mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-05 11:48:30 +00:00
![]() 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`` |
||
---|---|---|
.. | ||
assert | ||
deriving | ||
format_foreign | ||
alloc_error_handler.rs | ||
asm.rs | ||
assert.rs | ||
autodiff.rs | ||
cfg_accessible.rs | ||
cfg_eval.rs | ||
cfg.rs | ||
cmdline_attrs.rs | ||
compile_error.rs | ||
concat_bytes.rs | ||
concat_idents.rs | ||
concat.rs | ||
contracts.rs | ||
derive.rs | ||
edition_panic.rs | ||
env.rs | ||
errors.rs | ||
format_foreign.rs | ||
format.rs | ||
global_allocator.rs | ||
lib.rs | ||
log_syntax.rs | ||
pattern_type.rs | ||
proc_macro_harness.rs | ||
source_util.rs | ||
standard_library_imports.rs | ||
test_harness.rs | ||
test.rs | ||
trace_macros.rs | ||
util.rs |