[libcxx-commits] [libcxx] [libc++] Fix instantiation of incomplete type when evaluating tuple's operator<=> (PR #204679)

A. Jiang via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jun 24 22:51:43 PDT 2026


================
@@ -0,0 +1,35 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// <tuple>
+
+// Instantiating std::tuple<T...> must not form tuple_size_v of the tuple itself, as the tuple-like
+// operator<=> (C++23) and operator== (C++26) once did, which instantiated user tuple_size
+// specializations against the still-incomplete tuple.
+
+// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
----------------
frederick-vs-ja wrote:

Just a style nitpick.
```suggestion
// REQUIRES: std-at-least-c++23
```

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


More information about the libcxx-commits mailing list