Вектор можно превратить в массив без промежуточного преобразования

18.05.2026

У вектора появился метод получения массива заданной длины одним вызовом. Раньше требовалось обращаться к общему преобразованию, аргумент которого приходилось явно приводить к типу массива.

В чём была неудобная часть

Общее преобразование работает для любой длины, но чтобы его позвать, нужно явно указать длину массива. На практике это выглядит как приведение типа, смысл которого читается только если знать целевую длину.

То есть в коде появляется конструкция, которая ничего не делает, — а именно такие конструкции при обновлении компилятора ломаются первыми.

Что даёт

Вызов без приведения, с длиной, выведенной из контекста. То же, что делают современные методы коллекций: длина выводится, когда это возможно, и не требуется, когда невозможно.

Длина по-прежнему должна совпадать с длиной вектора — иначе поведение прежнее, ошибка. Но проверять это вручную не нужно.

Оригинал

implement into_array for Vec<T>

Упоминаний: 1 · Просмотров: 2