ахах я рассчитывал что кто-то уже спрятал transmute в безопасную обёртку для таких целей
пока компилятор не научится нормально считать N * M в типах, такого сделать не получится... Можно конечно просто assert_eq!(N*M, L); сделать, но такое
Хм, для массивов-то действительно можно было бы и "руками" в компиляторе N*M посчитать... 🧐
Для одинаковых типов норм можно чонить придумать
Можно в tracking issue split_array посмотреть, какие там с этим проблемы есть. TL;DR: часть компилятора, которая отвечает за проверку констант в типах (aka const_evaluetable_checked или как там) — очень не стабильна. Поэтому нельзя написать -> [T; N * M]
Вот так как раз вроде и можно написать, не?
Обсуждают сегодня