Сережа
Я имел ввиду _ = func()
Filipp
А я неправильно прочитал. Ну попробуй на godbolt
Filipp
А если результат функции не будут получать будет копироваться?
Vladimir
Я имел ввиду _ = func()
вот тебе код
#![feature(test)]
extern crate test;
#[inline(never)]
pub fn test() -> [i32;1024] {
[1;1024]
}
pub fn some() {
let x = test();
::test::black_box(x);
}Вот тебе ассемблер https://rust.godbolt.org/
играйся
Vladimir
если не используется конечно копировать никуда не надо
Сережа
А там оптимизации выключены по умолчанию?
պլհկ
Vladimir
+ обычно это так решается
Сережа
Сережа
Копируется))))
Vladimir
ты шо дурак?
Sergey
Я разочарован в тебе
Sergey
Нельзя шутить что ты гошник. Это как маму оскорблять
Max
Max
Это как то так?
(так сейчас обернуты вещи, которые не влияют на производительность и их можно копировать без ущерба производительности)
Vladimir
Чет совсем не понял (извините)
делаешь структуру, которая оборачивает просто ту внутреннюю, и у нее методы для работы с ней. не нужно никак трансмьютить
Vladimir
зачем тебе в растовых типах она?
Сережа
Ничего не знаю, 2 вызова memcpy
Vladimir
-C opt-level=3
Vladimir
добавь
Vladimir
бармалей
Сережа
Я говорил без оптимизаций
Vladimir
понятно
Vladimir
тогда зачем тебе знать копирует или нет без оптимизаций?
Vladimir
оно вообще много фигни делает без неё
Сережа
Затем же, зачем люди программируют на хаскеле
Сережа
А ты тоже толстячок
Сережа
А го на раст написан???
Ignat
При чём тут копирование без оптимизаций, непонятно
Vladimir
Ignat
Ты дурак?
Ignat
Ты задаёшь вопрос, ответ на который в сообщении, на которое ты отвечаешь
Ignat
(если опустить толстоту, то я надеюсь, что ты понимаешь, что без хачкеля не было бы никакого руста, в котором до сих пор (моя инфа ведь актуальна?) нет, например HKT, и смотреть свысока на хачкель с таких позиций глупо)
Сережа
Программировать хеловорды приятно, а на хаскеле хеловорд смотрится солидно
Ignat
На расте тоже
Сережа
Хаскель язык для хеловордов, игрушечный, раст это от него унаследовал
Ignat
Даже посолиднее будет
Alex
солидный язык для солидных хеловорлдов
A64m
да был бы, только вместо тайпклассов были бы модули эмельные
Vladimir
Alex
жава для бизнес-хеловорлдов
A64m
хотя сомнительно, имплициты были бы
Vladimir
для солидных бизнес-хелловорлдов
Vladimir
там же наверное правило хорошего тона сделать фабрику фабрик в hello world'е?
Alex
синглтон еще надо
Vladimir
ну это само собой
Ignat
A64m
да
Alex
скорее что в идрисе
Alex
хотя наверное особой разницы нет
A64m
идриса не было бы
Ignat
Чистый кайф, казалось бы, инстансы тайпклассов были бы именованными и можно было бы невозбранно иметь их несколько в одном скоупе
A64m
и результат зависил бы от порядка импортов
Ignat
)))
Ignat
Справедливо
պլհկ
Ignat
Подождите, а в русте тоже нельзя уметь несколькими способами подмешивать трейт?
Vladimir
куда подмешивать
Vladimir
в чай?
Vladimir
это не миксин чтоб его подмешивать
Ignat
Ну я не шарю, что у вас с трейтами принято делать
Ignat
ИМПЛЕМЕНТИРОВАТЬ?
Vladimir
ну так реализовать трейт можно одним способом, зачем несколькими?
Сережа
Специализировать?
Vladimir
ну реализация то одна останется
Сережа
Я не знаю, что он имеет ввиду, я байтослесарь
Ignat
Ну для вектора байт есть, например, имплементация Write, которая дописывает ему в конец
պլհկ
возможно он имеет в виду, можно ли заимплементить для одного типа с разными параметрами (см. PartialEq)
Vladimir
да, всетаки специализация
Vladimir
можно, в найтли
Ignat
(плохой пример, но я не очень много трейтов из стандартной библиотеки знаю)
Vladimir
я вообще думал он про использование
Trait+ Send
Ignat
Я могу научить его дописывать в начало, да?
Vladimir
еслиб мы понимали, что ты хочешь
Vladimir
если "перериализовать" типаж для не своего типа, то нет
Сережа
Какая прекрасная была бы фича
պլհկ
или он хочет ньютайпы 🤔
Vladimir