А что с ним не так?) Если вы про то, почему на него не ругнулись - он во всех случаях разыменуется без проверки. Выдавать на каждое такое использование указателя в функции глупо, т.к. будет много ложных срабатываний. Да, есть __attribute__((nonnull)), но присутствует он не во всех компиляторах и не всегда используется (как, например, в этом случае).
Но работает на других компиляторах: https://godbolt.org/z/GqxddxTGz
Судя по всему это баг GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66892
А что с ним не так?) Если вы про то, почему на него не ругнулись - он во всех случаях разыменуется без проверки. Выдавать на каждое такое использование указателя в функции глупо, т.к. будет много ложных срабатываний. Да, есть
__attribute__((nonnull))
, но присутствует он не во всех компиляторах и не всегда используется (как, например, в этом случае).Да, обязательно отпишу :)
В этом, как бы, и задумка, чтобы было не понятно до прочтения описания.