github catchorg/Catch2 v3.15.0

5 hours ago

Fixes

  • Fixed ambiguous overload issue with std::optional<T> in C++26. (#3095)
    • Since std::optional was turned into a range, the partial specialization of StringMaker for range-like types and for std::optional<T> were in conflict.

Improvements

  • Simplified CATCH_REGISTER_ENUM internals for faster compilation and retrieval.
  • Successful assertion are slightly (1-2%) faster.
  • Generic (new-style) matchers support constexpr matching in C++20.
    • Combining matchers requires C++26.
    • Catch2-provided generic matchers are all constexpr enabled.
  • Added STATIC_REQUIRE_THAT for compile-time matcher assertions.
    • This requires the compiler to support enough constexpr for matchers, see above.

Don't miss a new Catch2 release

NewReleases is sending notifications on new releases.