[libcxx-commits] [libcxx] [libc++][RFC] Use type traits builtins directly in <type_traits> and <concepts> (PR #114840)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 4 10:50:55 PST 2024


https://github.com/ldionne commented:

Did you plan on drawing a line where the builtins should be used and where the normal `_v` type traits should be used? For example, using the builtins directly from within `__concepts/` and `__type_traits/`, but the libc++ API from everywhere else?

I don't want to unnecessarily make this into a policy discussion because I don't think it's important enough to mandate that, but at the same time this will lead to some inconsistencies unless we have something written down we can refer to.

If the plan is to use builtins from anywhere in the codebase, I have some reservations about that because it might tie us a bit too closely to the specific compilers we support today. There's also other downsides like the inability to work around a compiler bug in a trait, which we've sometimes done in the libc++ version of the trait and has proven useful while we wait for the compiler to be fixed.

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


More information about the libcxx-commits mailing list