rust icon indicating copy to clipboard operation
rust copied to clipboard

Never emit `vptr` for empty/auto traits

Open lrh2000 opened this issue 4 months ago • 4 comments

Emiting vptrs 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)

lrh2000 avatar Oct 18 '24 00:10 lrh2000