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.
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.
I came to say the same thing - maybe they’re passive aggressively indicating the ones they secretly hate? crashes the compiler :D
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.