1
Fork 0

Add an (perma-)unstable option to disable vtable vptr

This flag is intended for evaluation of trait upcasting
space cost for embedded use cases.
This commit is contained in:
Gary Guo 2023-08-17 12:07:22 +01:00
parent 0f7f6b7061
commit a7633b8a71
3 changed files with 4 additions and 1 deletions

View file

@ -152,7 +152,7 @@ fn prepare_vtable_segments_inner<'tcx, T>(
while let Some((inner_most_trait_ref, emit_vptr, mut siblings)) = stack.pop() {
segment_visitor(VtblSegment::TraitOwnEntries {
trait_ref: inner_most_trait_ref,
emit_vptr,
emit_vptr: emit_vptr && !tcx.sess.opts.unstable_opts.no_trait_vptr,
})?;
// If we've emitted (fed to `segment_visitor`) a trait that has methods present in the vtable,