Logo

Blog


C++ Insights lambda hunt

Let's do something special today! Last week I added support for P0315R4: Lambdas in unevaluated contexts.

While I implemented this paper, I initially I initially thought the implementation was easy. But then it occurred to me that lambdas are a nasty thing. Before they could already appear in interesting places, I once had a quiz in one of my talks. With C++20, the number of interesting places grows tremendously, at least from the point of view of an implementor.

Have a look at the paper. The places it lists where we can use lambdas in an unevaluated context are interesting. However, the paper is not fully implemented in Clang, so C++ Insights is limited to the implementation state of Clang.

Now, here comes the special part. I tried hard to make the feature work. Let's test how I did. Are you up for a challenge?

These are the rules:

  • You have one week until Sunday, July 31, to find scenarios for P0315R4 where C++ Insights lacks support.
  • Report your finding as an issue on GitHub.
  • The first unique finding for each scenario gets a free digital copy of my book Programming with C++20 Programming with C++20 - Paperback Cover
  • Each person gets only one copy, regardless of how many issues they spotted.
  • I will contact each winner via the e-mail provided on their GitHub user profile.

My August blog post will go more into detail about the paper and list some of your amazing findings. Okay, now I sound less confident having it implemented correctly.

Let the chase begin!

Andreas