GCC adds similar syntax as an extension to C: https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
It's used all throughout the Linux kernel and useful for macros.
The best part of statement expressions is that a return there returns from the function itself, not from the statement expr.
I use that with with macros to return akins to std::expected, while maintaining the code in the happy-path like with exceptions.
The best part of statement expressions is that a return there returns from the function itself, not from the statement expr.
I use that with with macros to return akins to std::expected, while maintaining the code in the happy-path like with exceptions.