"Рефакторили, рефакторили, да не вырефакторили."

Поменяли тип переменной, а в одном ветке забыли вычитать -- в результате получили взрывающий мозг код

std::string val = "puk srenk";
...
val = rand() % 1000;

// случайный инт имплицитно конвертится в чар, который и приваивается строке.
шланг ворнинг дает только при -Wconversion, который ругается на assert(!"shit happend");
На

assert(!*"shit happend");
assert(false && "shit");

не ругается, но первое непривычно читать, а второе долго писать.