F>Дык сборка должна быть warning free (-Werror, /WX) — как раз чтобы не терять важное среди "трёх экранов бессмысленной выдачи".
И всякие относительно безобидные warnings (типа unused variable) будут ошибкой. Это неудобно.
Я вот тоже не понимаю, почему пропущенный return не считается ошибкой компиляции.
Валидных сценариев, либо требований обратной совместимости в этом топике вроде не упоминали.
Всякие там выходы из фунцкии по std::abort или throw не препятствие к тому, чтобы требовать обязательный return в коде.