Видимо, программирование на го обучило меня всегда смотреть на первую букву, но я ошибку заметил сразу.
А вообще да, бывает, что сначала «анализатор не прав», а потом бьёшь себя по лбу. Поэтому предпочитаю, чтобы мои проекты все анализаторы проходили «на ноль».
Наполовину офтоп, но раз уж речь зашла о го и оптимизациях, недавно разработчики решили выпилить ассемблерные версии алгоритма шифрования RC4 (ибо алгоритм слабый, а поддерживать ассемблер не хочется). После бенчмарков оказалось, что нынче код на го быстрее того ассемблера, что использовался в пакете. На треть.
Думаю, не слишком ошибусь в оценке, если скажу, что коммерческого джава-кода минимум в 1000 раз больше, чем кода на расте.
Если вы хотите хороший статический анализатор для него, то возьмите большую кодобазу на расте, наблюдайте за багами, и открывайте обсуждения в репе clippy.
Неужели UBSan настолько непопулярен? Он ведь нашёл бы такое за секунды.
А вообще да, бывает, что сначала «анализатор не прав», а потом бьёшь себя по лбу. Поэтому предпочитаю, чтобы мои проекты все анализаторы проходили «на ноль».
Я бы использовал
defer
, как рекомендует коллега выше.Если вы хотите хороший статический анализатор для него, то возьмите большую кодобазу на расте, наблюдайте за багами, и открывайте обсуждения в репе clippy.