1. 12
  1. 4

    All of these say:

    “gcc 12.2.0 - crashes when building”

    “clang 14.0.6 - fails to build”

    Although some of them have check marks and others have X. I’m guessing the ones with the check mark are actually ok.

    1. 1

      I came to say the same thing - maybe they’re passive aggressively indicating the ones they secretly hate? crashes the compiler :D

    2. 3

      I’m not convinced by the backtrace stuff. On platforms where it’s easy to support, I already have lightweight wrappers. On other platforms (especially kernel / embedded environments) it’s just another thing that has to be a non-standard subset.

      Move-only functions are nice, I currently have some concept goo to do this.

      Expected looks nice, I’m a bit confused by std::unexpected in the examples because that’s the function that’s called when an unexpected exception is thrown. This was removed in C++17, but the symbol probably needs to remain for compatibility. I’m using a two-element std::variant for the same thing, but expected looks like it has nicer affordances. Now if only they could support a standard library mode that uses these exclusively and doesn’t throw exceptions…

      Mulitdimensional subscript is fairly niche. I can see where it would be nice, just not in any code that I’ve worked on recently.

      The monadic operators on opional look nice, I could definitely simplify some code with them.

      I think if consteval should be possible with a library thing in C++20, but it didn’t seem to work correctly for me. Being able to use function arguments in consteval blocks when the function is called with compile-time-constant arguments would make things nicer.