Clang's broken generic lambdas nearly killed my compile-time testing library
I can't use generic lambdas at compile-time, now what?
A follow-up to a previous article on breaking MSVC and Clang, this post explains how Clang still fails to evaluate generic lambdas at compile-time, a bug that threatens the author's compile-time unit testing library, k3tchup. The author walks through the minimal repro, why generic lambdas are needed for dispatching between nullary and stateful test packets, and how to work around the limitation in Clang 16 and later using function templates instead of inline lambdas.
Because I'm writing a unit testing library focused around compile-time testing, the inability to evaluate generic lambdas at compile-time could kill the project, at least with the API I want.