about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/coverage/graph.rs
diff options
context:
space:
mode:
authorJubilee <workingjubilee@gmail.com>2025-02-20 14:58:18 -0800
committerGitHub <noreply@github.com>2025-02-20 14:58:18 -0800
commit8c9e3749a1a580d881fb00fcfe9e6677c557ad0a (patch)
tree2cd87bf6c1f936280b57ea87b7c5edf1671c4902 /compiler/rustc_mir_transform/src/coverage/graph.rs
parent6d74563b20b0e585d95b1dbdb701d8710633f1e7 (diff)
parente3f5db07e0daa833c51c335fa07d87affd8a8bf9 (diff)
downloadrust-8c9e3749a1a580d881fb00fcfe9e6677c557ad0a.tar.gz
rust-8c9e3749a1a580d881fb00fcfe9e6677c557ad0a.zip
Rollup merge of #136985 - zachs18:backend-repr-remove-uninhabited, r=workingjubilee
Do not ignore uninhabited types for function-call ABI purposes. (Remove BackendRepr::Uninhabited)

Accepted MCP: https://github.com/rust-lang/compiler-team/issues/832

Fixes #135802

Do not consider the inhabitedness of a type for function call ABI purposes.

* Remove the [`rustc_abi::BackendRepr::Uninhabited`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_abi/enum.BackendRepr.html) variant
  * Instead calculate the `BackendRepr` of uninhabited types "normally" (as though they were not uninhabited "at the top level", but still considering inhabitedness of variants to determine enum layout, etc)
* Add an `uninhabited: bool` field to [`rustc_abi::LayoutData`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_abi/struct.LayoutData.html) so inhabitedness of a `LayoutData` can still be queried when necessary (e.g. when determining if an enum variant needs a tag value allocated to it).

This should not affect type layouts (size/align/field offset); this should only affect function call ABI, and only of uninhabited types.

cc ``@RalfJung``
Diffstat (limited to 'compiler/rustc_mir_transform/src/coverage/graph.rs')
0 files changed, 0 insertions, 0 deletions