Функция копирования из одного потока в другой переехала из std в alloc
01.08.2026Функция копирования данных между потоками ввода-вывода переехала из std в alloc. То есть она стала доступна в коде, работающем без стандартной библиотеки.
Что это за функция
Она копирует содержимое одного потока в другой, возвращая число переданных байт. Основное применение — перекачивание данных между файлами и сетевыми соединениями без ручного буфера.
Почему она мешала без стандартной библиотеки
Стандартная библиотека нужна не только ради аллокатора и коллекций. Часть её функций реализована поверх системных вызовов, которых в коде без неё просто нет — а часть, наоборот, требует её для своей работы.
Именно из-за таких зависимостей сформировался перечень того, что нельзя использовать без стандартной библиотеки, и в нём оказалась вполне безобидная функция копирования.
Что даёт перенос
Код, работающий без стандартной библиотеки, избавляется от необходимости писать копирование вручную — со своим буфером и своей обработкой коротких чтений. Такие реализации в крейтах расходятся между собой, и перенос снимает ещё один источник расхождений.
Прежний путь сохранён как устаревший переходник, то есть переход не ломает существующий код.
Оригинал
move std::io::copy to alloc::io
Упоминаний: 1 · Просмотров: 2