Операции и константы для целых чисел без знака указателя.
В большинстве случаев я могу заменить usize на u32, и ничего не происходит. Поэтому я не понимаю, почему нам нужны два типа, которые настолько похожи.
Ответ 1
Как указано в документации usize размер указателя, поэтому его фактический размер зависит от архитектуры вашей компиляции вашей программы.
В качестве примера, на 32-битном компьютере x86, usize = u32, а на компьютерах x86_64, usize = u64.
usize дает вам гарантию быть всегда достаточно большой, чтобы удерживать любой указатель или любое смещение в структуре данных, а u32 может быть слишком маленьким на некоторых архитектурах.