This would prevent the last bug (!ua()) as the control flow sensitive analysis can reason about both branches: that it is invalid to deref ua within the block. The dynamic check misses the bug because the branch is never taken for the given inputs.
I am fairly confident that the clang-tidy pass is simpler and more precise in most cases than the hand-rolled implementation. (That said the static check may not be able to reason about mutation well.)
If you need to pass an error in the failure case, you can use std::expected (available in C++23). clang-tidy has an open bug about supporting a similar check for std::expected: https://github.com/llvm/llvm-project/issues/135045
You may very well be able to ditch colors using this technique with additional characters. Many characters are distinct with their inverted counterpart.
If you use github release workflow, you don't even have a choice about it. You cannot create a release without creating a matching tag.
Maybe she doesn't, though. At a previous job I logged build IDs and never ended up needing them because we were able to uphold a Git-first process pretty well
You can pass a `git describe` directly to just about any git command that takes a "commitish", so can copy and paste it directly to `git switch` or `git checkout` just as you would with a full hash. Except you also have prefixed human-readable version information that you can update.
About the only complaint with `git describe` is that if you are presenting these version numbers in semver scenarios and want the best semver ordering you want to replace that first "-" with a "+" and the second "-" with a ".", which aligns it better with semver's optional build metadata rather than looking like a semver pre-release.
mananaysiempre•6mo ago
yjftsjthsd-h•6mo ago
But tcc isn't a C++ compiler at all?
aslatter•6mo ago
kelnos•6mo ago
I think.
mananaysiempre•5mo ago
omoikane•6mo ago
https://github.com/ioccc-src/winner/blob/a1c86c8a7a533e3c2cd...
dogline•6mo ago
omoikane•6mo ago
With C99, this is evaluated as "x *= 02 / -1", or "x *= -2".
mananaysiempre•5mo ago