Привет, ЛОР!
В конце прошлого года было опубликовано предложение по добавлению в язык Си конструкций для контроля и упреждения неопределённого поведения.
Ссылка: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3211.pdf
Для Ъ:
Предлагается добавить специальную прагму MEMORY_SAFETY с вариантами DYNAMIC, STATIC и OFF. При включении MEMORY_SAFETY STATIC все варианты UB превращаются в ошибки сборки. Также, запрещаются многие конструкции, которые могут вызывать неопределённое поведение, например, операции над знаковыми числами, которые могут вызвать переполнение. В случае DYNAMIC, код, вызывающий неопределённое поведение, будет выбрасывать ошибку во время выполнения.
Что думаешь, ЛОРовец? Позволит ли это программистам на Си наконец перестать портить память?