Если вы посмотрите на документацию для copyMutableArray # , там написано:
При наличии исходного массива, смещения в исходном массиве, целевого массива, смещения вцелевой массив и количество копируемых элементов, скопируйте элементы из исходного массива в целевой массив.Оба массива должны полностью содержать указанные диапазоны, но это не проверяется.В случае, когда источник и пункт назначения являются одним и тем же массивом, области источника и назначения могут перекрываться.
Это напоминает системный вызов memmove.С другой стороны, функция-обертка copyMutableArray сообщает
Скопировать фрагмент изменяемого массива в другой массив.Эти два массива могут не совпадать.
Это похоже на memcpy, хотя его определение в основном просто передает аргументы copyMutableArray#
copyMutableArray (MutableArray dst#) (I# doff#)
(MutableArray src#) (I# soff#) (I# len#)
= primitive_ (copyMutableArray# src# soff# dst# doff# len#)
Есть ли существенная разница междудва или это ошибка в документации?