about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/allocator.rs
diff options
context:
space:
mode:
author许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com>2024-10-18 14:52:25 +0100
committerGitHub <noreply@github.com>2024-10-18 14:52:25 +0100
commit765e8c75b0b3dcfd9bb4de67c5a199d4c58f2db5 (patch)
tree23505354072a3a4027b84438d70eb0310b8dcbd0 /compiler/rustc_codegen_llvm/src/allocator.rs
parent39af44dae986e91c8c7ea1a994781e8fb7fb6751 (diff)
parent781bff049905d325bb877935978f1bce8ea6af86 (diff)
downloadrust-765e8c75b0b3dcfd9bb4de67c5a199d4c58f2db5.tar.gz
rust-765e8c75b0b3dcfd9bb4de67c5a199d4c58f2db5.zip
Rollup merge of #131864 - lrh2000:upcast_reorder, r=WaffleLapkin
Never emit `vptr` for empty/auto traits

Emiting `vptr`s for empty/auto traits is unnecessary (#114942) and causes unsoundness in `trait_upcasting` (#131813). This PR should ensure that we never emit vtables for such traits. See the linked issues for more details.

I'm not sure if I can add tests for the vtable layout. So this PR only adds tests for the soundness hole (i.e., the segmentation fault will disappear after this PR).

Fixes #114942
Fixes #131813

Cc #65991 (tracking issue for `trait_upcasting`)

r? `@WaffleLapkin`  (per https://github.com/rust-lang/rust/issues/131813#issuecomment-2419969745)
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/allocator.rs')
0 files changed, 0 insertions, 0 deletions