Calling assert() on a condition that's always false is not an appropriate way to exit after emitting "Fatal error [...]" because if NDEBUG is defined the assert() becomes a no-op and the error stops actually being fatal.