rust/compiler/rustc_codegen_ssa/src
bors 3dbb4da042 Auto merge of #117301 - saethlin:finish-rmeta-encoding, r=WaffleLapkin
Call FileEncoder::finish in rmeta encoding

Fixes https://github.com/rust-lang/rust/issues/117254

The bug here was that rmeta encoding never called FileEncoder::finish. Now it does. Most of the changes here are needed to support that, since rmeta encoding wants to finish _then_ access the File in the encoder, so finish can't move out.

I tried adding a `cfg(debug_assertions)` exploding Drop impl to FileEncoder that checked for finish being called before dropping, but fatal errors cause unwinding so this isn't really possible. If we encounter a fatal error with a dirty FileEncoder, the Drop impl ICEs even though the implementation is correct. If we try to paper over that by wrapping FileEncoder in ManuallyDrop then that just erases the fact that Drop automatically checks that we call finish on all paths.

I also changed the name of DepGraph::encode to DepGraph::finish_encoding, because that's what it does and it makes the fact that it is the path to FileEncoder::finish less confusing.

r? `@WaffleLapkin`
2023-11-26 14:43:02 +00:00
..
back Rollup merge of #118013 - sivadeilra:user/ardavis/ehcont, r=wesleywiser 2023-11-22 09:28:50 -08:00
debuginfo Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
mir Rollup merge of #118147 - Nilstrieb:no-redundant-casts, r=WaffleLapkin 2023-11-22 09:28:51 -08:00
traits Update doc comment for CodegenBackend::link 2023-11-05 16:29:16 +00:00
assert_module_sources.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
base.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
codegen_attrs.rs rustc: hir().local_def_id_to_hir_id() -> tcx.local_def_id_to_hir_id() cleanup 2023-11-26 12:41:21 +03:00
common.rs move ConstValue into mir 2023-09-19 11:11:02 +02:00
errors.rs Remove cgu_reuse_tracker from Session 2023-10-09 18:39:41 +00:00
glue.rs Use size_of_val instead of manual calculation 2023-03-17 19:55:49 -07:00
lib.rs Auto merge of #117301 - saethlin:finish-rmeta-encoding, r=WaffleLapkin 2023-11-26 14:43:02 +00:00
meth.rs cg_ssa: remove pointee types and pointercast/bitcast-of-ptr 2023-07-29 13:18:20 -04:00
mono_item.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
target_features.rs features must be additive 2023-11-13 09:41:45 +01:00