[libcxx-commits] [libcxx] [libc++] Deprecate `is_pod(_v)` since C++20 (PR #129471)

A. Jiang via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 5 18:49:45 PST 2025


================
@@ -95,8 +95,8 @@ namespace std
     template <class T> struct is_unbounded_array;               // C++20
 
     // Member introspection:
-    template <class T> struct is_pod;
     template <class T> struct is_trivial;
+    template <class T> struct is_pod;          // Deprecated in C++20
----------------
frederick-vs-ja wrote:

I decided to do the following drive-by changes:
- aligning all version comments to line 65,
- using `// since C++` instead of `// C++`, in lowercase as used in most version comments,
- changing the comments for `bool_constant` to `// since C++17` as it's a C++17 feature,
- changing the class-key of `result_of` to `struct`, which follows [N4659 [depr.meta.types]](https://timsong-cpp.github.io/cppwp/n4659/depr.meta.types) and the actual usage in libc++,
- consistently using `class` to introduce type template parameters,
- consistently using `inline constexpr` for variable templates,
- moving the comments for `is_nothrow_convertible_v` to the part for variable templates, and
- removing duplicated comments for `true_type` and `false_type`.

I found that we only use `deprecated in`/`removed in` (not "since"), so I didn't change these parts.

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


More information about the libcxx-commits mailing list