История изменений
Исправление red75prim, (текущая версия) :
P.S. И нет, дело ваще не в касте i32 в f32.
Дело в provenance. Temporal scope уникальных ссылок на одну переменную не могут пересекаться. Значит доступ по одному из указателей полученных из этих уникальных ссылок нарушает provenance. А это UB.
Чтобы получить указатель без ограничений temporal scope нужно делать core::ptr::addr_of_mut!()
Исходная версия red75prim, :
P.S. И нет, дело ваще не в касте i32 в f32.
Дело в provenance. Temporal scope уникальных ссылок на одну переменную не могут пересекаться. Значит доступ по одному из указателей полученных из этих уникальных ссылок нарушает provenance. А это UB.