Пример с BufferView небезопасный и компилятор не гарантирует время жизни array, именно поэтому сейчас добавили в язык ~Escapable и лайфтаймы. В стандартной библиотеке теперь будут (Raw)Span, Mutable(Raw)Span и UTF8Span.
Уже идет работа по move-only типам (в виде атрибутов для локальных переменных, аргументов функций и возвратов, полей классов), правда непонятно как это будет работать value типами у которых внутреннее хранилище реализовано с использованием класса и будет ли deinit у структур.
А зачем тогда тут нужен канал? Гонки в изначальном варианте не было
Пример с
BufferViewнебезопасный и компилятор не гарантирует время жизни array, именно поэтому сейчас добавили в язык ~Escapable и лайфтаймы. В стандартной библиотеке теперь будут (Raw)Span, Mutable(Raw)Span и UTF8Span.Передать массив без копирования можно будет так:
Странный у вас Swift. Есть оператор
consume, а функцииmoveнет.Swift еще надо установить, должно всё прекрасно работать
Атака, исследование, предупреждение о вмешательство в чужие сети...Причем здесь вебсокеты, если проблема совершенно не протоколе?
Возможно так было бы проще :)
Ну, или так, например
Уже идет работа по move-only типам (в виде атрибутов для локальных переменных, аргументов функций и возвратов, полей классов), правда непонятно как это будет работать value типами у которых внутреннее хранилище реализовано с использованием класса и будет ли deinit у структур.