[PATCH] D133659: [Clang] P1169R4: static operator()

Roy Jacobson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 24 10:02:03 PDT 2022


royjacobson planned changes to this revision.
royjacobson added a comment.

I think I didn't get the overload resolution changes quite right, so this will probably change a bit.



================
Comment at: clang/lib/Frontend/InitPreprocessor.cpp:698
     Builder.defineMacro("__cpp_multidimensional_subscript", "202110L");
+    Builder.defineMacro("__cpp_static_call_operator", "202207L");
   }
----------------
aaron.ballman wrote:
> Because we're exposing the feature as a language extension in older language modes, I think we probably want to define the macro in older language modes as well, right?
Because supporting static lambdas requires backporting the overload resolution change as well, I decided not to support it as an extension, and for consistency no regular `static operator()` as well.

I've asked now on the libcxx Discord and they seem to think that it would still be useful to provide the regular `static operator()` as an extension, especially for C++20 ranges.

I think backporting the overload resolution change should be fine, but it seems I haven't implemented it quite right so I'm looking into it.



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133659



More information about the cfe-commits mailing list