За жизнь
Rust - язык без стандарта, свой компилятор языка без стандарта создать невозможно, тк то, как работает компилятор разработчика языка и является фактически стандартом.
Переменные и Операторы
int a, b = 5; // переменная a не инициализируется
Инициализуется только переменные те у которых стоит =
Локальные переменные без инициализации содержат мусор (рандомное значение), тк под локальные переменные место на стеке выделяется, но ничем не заполняется, может случиться 0, может не 0, из разных запусков - может случиться разное, из разных компиляций (release/debug) может случиться разное.
Вообще, ошибки обращения к неиницилизированным переменным - это очень частые ошибки.