rust/compiler
Guillaume Gomez 0bbeeffe57
Rollup merge of #143084 - RalfJung:const-eval-recursive-static-write, r=oli-obk
const-eval: error when initializing a static writes to that static

Fixes https://github.com/rust-lang/rust/issues/142404 by also calling the relevant hook for writes, not just reads. To avoid erroring during the actual write of the initial value, we neuter the hook when popping the final stack frame.

Calling the hook during writes requires changing its signature since we cannot pass in the entire interpreter any more.

While doing this I also realized a gap in https://github.com/rust-lang/rust/pull/142575 for zero-sized copies on the read side, so I fixed that and added a test.

r? `@oli-obk`
2025-06-27 15:04:57 +02:00
..
rustc
rustc_abi compiler: Trim the misleading C from ExternAbi::CCmse* 2025-06-25 00:52:09 -07:00
rustc_arena Introduce Arena::try_alloc_from_iter. 2025-04-19 01:13:18 +00:00
rustc_ast Rollup merge of #143065 - compiler-errors:enum-recovery, r=oli-obk 2025-06-27 15:04:56 +02:00
rustc_ast_ir
rustc_ast_lowering compiler: remove misleading 'c' from abi_c_cmse_nonsecure_call feature 2025-06-25 00:52:10 -07:00
rustc_ast_passes Error on invalid signatures for interrupt ABIs 2025-06-24 14:40:11 +02:00
rustc_ast_pretty Rollup merge of #135731 - frank-king:feature/pin-borrow, r=eholk,traviscross 2025-06-24 19:45:29 -07:00
rustc_attr_data_structures Port #[used] to new attribute parsing infrastructure 2025-06-27 08:58:26 +02:00
rustc_attr_parsing Port #[used] to new attribute parsing infrastructure 2025-06-27 08:58:26 +02:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #143074 - compiler-errors:rollup-cv64hdh, r=compiler-errors 2025-06-27 00:44:20 +00:00
rustc_builtin_macros Rollup merge of #142724 - xizheyin:avoid_overwrite_args, r=oli-obk 2025-06-25 22:14:55 +02:00
rustc_codegen_cranelift Rollup merge of #142955 - bjorn3:cg_clif_test_fixes, r=jieyouxu 2025-06-24 19:45:34 -07:00
rustc_codegen_gcc Remove dead instructions in terminate blocks 2025-06-22 11:38:47 -04:00
rustc_codegen_llvm Auto merge of #143026 - jdonszelmann:rollup-z7mkuyt, r=jdonszelmann 2025-06-25 23:33:23 +00:00
rustc_codegen_ssa Rollup merge of #143020 - RalfJung:codegen_fn_attrs, r=oli-obk 2025-06-27 15:04:54 +02:00
rustc_const_eval Rollup merge of #143084 - RalfJung:const-eval-recursive-static-write, r=oli-obk 2025-06-27 15:04:57 +02:00
rustc_data_structures Rollup merge of #142868 - klensy:dc, r=oli-obk 2025-06-22 17:35:36 +02:00
rustc_driver Remove recursion_limit increases. 2025-04-02 16:25:27 +11:00
rustc_driver_impl rustc_session: Add a structure for keeping both explicit and default sysroots 2025-06-24 16:00:04 +03:00
rustc_error_codes compiler: Trim the misleading C of C-cmse from errors 2025-06-25 00:52:10 -07:00
rustc_error_messages rustc_session: Add a structure for keeping both explicit and default sysroots 2025-06-24 16:00:04 +03:00
rustc_errors Rollup merge of #142724 - xizheyin:avoid_overwrite_args, r=oli-obk 2025-06-25 22:14:55 +02:00
rustc_expand Don't give APITs names with macro expansion placeholder fragments in it 2025-06-25 15:42:11 +00:00
rustc_feature Rollup merge of #142671 - davidtwco:no-default-bounds-attr, r=lcnr 2025-06-27 15:04:52 +02:00
rustc_fluent_macro Remove all unused feature gates from the compiler 2025-06-08 14:50:42 +00:00
rustc_fs_util Retry if creating temp fails with access denied 2025-04-25 11:28:36 +00:00
rustc_graphviz
rustc_hashes
rustc_hir Report infer ty errors during hir ty lowering 2025-06-27 07:51:38 +00:00
rustc_hir_analysis Rollup merge of #142671 - davidtwco:no-default-bounds-attr, r=lcnr 2025-06-27 15:04:52 +02:00
rustc_hir_pretty Rollup merge of #135731 - frank-king:feature/pin-borrow, r=eholk,traviscross 2025-06-24 19:45:29 -07:00
rustc_hir_typeck Auto merge of #143074 - compiler-errors:rollup-cv64hdh, r=compiler-errors 2025-06-27 00:44:20 +00:00
rustc_incremental Auto merge of #139758 - Zoxc:thread-local-graph, r=oli-obk 2025-05-07 12:39:54 +00:00
rustc_index index: add method for checking range on DenseBitSet 2025-06-04 00:47:12 +02:00
rustc_index_macros In rustc_mir_tranform, iterate over index newtypes instead of ints 2025-04-12 11:53:07 +00:00
rustc_infer Auto merge of #142223 - compiler-errors:perf-wf, r=lcnr 2025-06-27 03:57:45 +00:00
rustc_interface Rollup merge of #142934 - nnethercote:tweak-macro-stats, r=petrochenkov 2025-06-24 19:45:33 -07:00
rustc_lexer rustc_lexer: typo fix + small cleanups 2025-06-06 13:08:16 +00:00
rustc_lint Port #[export_name] to the new attribute parsing infrastructure 2025-06-26 08:50:42 +02:00
rustc_lint_defs make tidy-alphabetical use a natural sort 2025-06-25 22:52:38 +02:00
rustc_llvm rustc_llvm: add Windows system libs only when cross-compiling from Windows 2025-05-31 15:47:14 +02:00
rustc_log Add documentation for init_logger_with_additional_layer 2025-06-12 12:11:15 +02:00
rustc_macros Only args in main diag are saved and restored without removing the newly added ones 2025-06-26 23:06:38 +08:00
rustc_metadata Auto merge of #143026 - jdonszelmann:rollup-z7mkuyt, r=jdonszelmann 2025-06-25 23:33:23 +00:00
rustc_middle Report infer ty errors during hir ty lowering 2025-06-27 07:51:38 +00:00
rustc_mir_build Rollup merge of #142724 - xizheyin:avoid_overwrite_args, r=oli-obk 2025-06-25 22:14:55 +02:00
rustc_mir_dataflow update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_mir_transform Add InterpCx::layout_of with tracing, shadowing LayoutOf 2025-06-27 11:49:22 +02:00
rustc_monomorphize Skip collecting no-op DropGlue in vtables 2025-06-21 18:59:36 -04:00
rustc_next_trait_solver Rollup merge of #143073 - yotamofek:pr/fix-let-chains-fixmes, r=compiler-errors 2025-06-26 20:15:30 -04:00
rustc_parse Better recovery 2025-06-26 18:11:14 +00:00
rustc_parse_format update to literal-escaper 0.0.4 for better API without unreachable and faster string parsing 2025-06-23 06:36:22 +00:00
rustc_passes Port #[used] to new attribute parsing infrastructure 2025-06-27 08:58:26 +02:00
rustc_pattern_analysis Add #[loop_match] for improved DFA codegen 2025-06-23 20:43:04 +02:00
rustc_privacy Reorder fields in hir::ItemKind variants. 2025-05-30 02:23:20 +10:00
rustc_proc_macro update to literal-escaper 0.0.4 for better API without unreachable and faster string parsing 2025-06-23 06:36:22 +00:00
rustc_query_impl Auto merge of #140145 - Zoxc:job-server-proxy, r=SparrowLii 2025-05-01 04:11:52 +00:00
rustc_query_system Rollup merge of #142384 - celinval:chores-rayon-mv, r=oli-obk 2025-06-20 23:25:54 -04:00
rustc_resolve Rollup merge of #142981 - compiler-errors:verbose-missing-suggestion, r=estebank 2025-06-26 15:47:22 +02:00
rustc_sanitizers Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_serialize Add a few inline directives in rustc_serialize. 2025-06-21 23:54:16 +00:00
rustc_session Rollup merge of #142809 - KMJ-007:ad-type-analysis-flag, r=ZuseZ4 2025-06-25 22:14:55 +02:00
rustc_smir Rollup merge of #142884 - makai410:coroutine-body, r=celinval 2025-06-26 15:47:21 +02:00
rustc_span Rollup merge of #142671 - davidtwco:no-default-bounds-attr, r=lcnr 2025-06-27 15:04:52 +02:00
rustc_symbol_mangling Change __rust_no_alloc_shim_is_unstable to be a function 2025-06-16 10:54:07 -07:00
rustc_target Rollup merge of #141311 - folkertdev:tidy-natural-sort, r=jieyouxu 2025-06-26 15:47:17 +02:00
rustc_thread_pool Apply suggestions from code review 2025-06-16 12:27:47 -07:00
rustc_trait_selection Auto merge of #142223 - compiler-errors:perf-wf, r=lcnr 2025-06-27 03:57:45 +00:00
rustc_traits Remove some glob imports from the type system 2025-06-25 15:35:16 +00:00
rustc_transmute transmutability: shift abstraction boundary 2025-06-09 14:08:12 +00:00
rustc_ty_utils Add #[loop_match] for improved DFA codegen 2025-06-23 20:43:04 +02:00
rustc_type_ir Auto merge of #143074 - compiler-errors:rollup-cv64hdh, r=compiler-errors 2025-06-27 00:44:20 +00:00
rustc_type_ir_macros Split TypeFolder and FallibleTypeFolder 2025-04-15 18:30:35 +00:00
stable_mir Change rustc_driver dependency on stable_mir crate 2025-04-30 15:39:52 -07:00