[PATCH] D106252: Make simple requirements starting with requires ill-formed in in requirement body

Arthur O'Dwyer via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 23 16:58:33 PDT 2021


Quuxplusone requested changes to this revision.
Quuxplusone added inline comments.
This revision now requires changes to proceed.


================
Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:810
+def err_requires_expr_in_simple_requirement : Error<
+  "requires expression in requierement body; did "
   "you intend to place it in a nested requirement? (add another 'requires' "
----------------
Typo here.


================
Comment at: clang/test/Parser/cxx2a-concepts-requires-expr.cpp:148-158
+template <typename T>
+struct S {
+  using type = T;
+};
+bool r42 = requires(typename S<int>::type i) {
+  requires requires(typename S<int>::type i) { requires true; };
+};
----------------
`s/int/T/` otherwise you miss the point of p2092's "Down with `typename`!" changes.


================
Comment at: clang/test/Parser/cxx2a-concepts-requires-expr.cpp:152-153
+};
+bool r42 = requires(typename S<int>::type i) {
+  requires requires(typename S<int>::type i) { requires true; };
+};
----------------
`s/int/T/` otherwise you miss the point of p2092's "Down with `typename`!" changes.


================
Comment at: clang/www/cxx_status.html:946-947
       <tr>
         <td><a href="https://wg21.link/p2092r0">P2092R0</a></td>
+        <td rowspan="1" class="unreleased" align="center">Clang 13</td>
       </tr>
----------------
This should say "partial," unless you have already implemented p2092's "Down with `typename`!" changes.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106252/new/

https://reviews.llvm.org/D106252



More information about the cfe-commits mailing list