[libcxx-commits] [libcxx] [libc++] Ensure that `std::expected` has no tail padding (PR #69673)

Jan Kokemüller via libcxx-commits libcxx-commits at lists.llvm.org
Sat Dec 2 14:27:12 PST 2023


================
@@ -88,8 +88,263 @@ _LIBCPP_HIDE_FROM_ABI void __throw_bad_expected_access(_Arg&& __arg) {
 #  endif
 }
 
----------------
jiixyj wrote:

I haven't looked at the `__movable_box` issue in detail yet, but maybe `__conditional_no_unique_address` might be of help there as well?

I'm also wondering if all the `__repr`/`__union` stuff might be factored out into a generic "variant where the discriminator is stored in potential tail padding" class. But I guess a class like this won't help with `__movable_box`.

https://github.com/llvm/llvm-project/pull/69673


More information about the libcxx-commits mailing list