On Wed, Nov 22, 2017 at 2:59 PM, Jonathan Nieder [off-list ref] wrote:
In a certain ideal world, the preference would be reversed: you'd want
to use assert() wherever you can and require the compiler to check
that all assert()s are verifiable at compile time. A check that a
static analyzer can verify is more valuable than a run-time check.
When a compile-time check is not possible, you'd have to fall back to
BUG_ON().
Linux has BUILT_BUG_ON as well, which we may desire?