Anton
/stat@combot
Anton
/stat@combot
Anton
/stat@combot
Anton
C++ просто повесится от такого очевидного поведения
Vladimir
/stat@combot
Loo
/stat@combot
Loo
/stat@combot
Vladimir
/stat
Loo
/stat
Anton
лол
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Alexander
/measure_iq
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Combot
combot.org/chat/-1001082778544
Vladimir
Норм
Anton
причем тут потоки? мы все равно засунем контроллер в мутекс, если нужно, либо его поля по отдельности
Anton
а потом добавятся потоки с в с++ все сломается. а в расте сразу норм код под многопоточность
Vladimir
Мы во всем лучше хаскель чата
Anonymous
суть та же
Alexander
ну не совсем
Anonymous
"почему я не могу сломать логику"
Alexander
если честно внутри там линейные, а интерфейс пользователю афинный
Loo
у нас не только хелф больше
Loo
рли?
Alexander
да, по всем статам кроме health в haskell больше
Alexander
людей, активных в день, сообщений в день и т.п.
Alexander
вот с flood ration получше тут
Alexander
интересно как считается
Vladimir
Зато качество людей👆
Vladimir
интересно как считается
Наверное зависит от среднего помещения и среднего флуда
Alexander
определение флуда их интересно
Alexander
люди, то ясно, что в haskell чятике лучше
Loo
вот с flood ration получше тут
от настроения Антона
Vladimir
определение флуда их интересно
Чем больше сообщений подряд
Vladimir
Alexander
учитывая, что телеграм не умеет в форматирование нормальное, то странное определение
Alexander
хотя я склоняюсь к тому же
Anonymous
в теоретическом контексте
Anton
еще быстро добавлю представим, что у нас controller.get_array_a() -> &mut Vec controller.get_array_b() -> &mut Vec и мы хотим всего лишь *controller.get_array_a() = *controller.get_array_b(); //= просто переписывает значения из одного массива в другой, не выделяя память. Но расту это не понравится. Надо разделить get_array_a и get_array_b на 2 блока. Выйдет: let vec=controller.get_array_b().clone();//тут-то мы выделяем память!!! *controller.get_array_a()=vec; //= просто переписывает значения из одного массива в другой, не выделяя память. В С++ бы первый способ сработал. Вот пример того, когда борров чеккер заставляет писать неоптимальный код — выделяет область памяти. Только из-за его тупости
Anton
И что, после этого раст равен С++ по производительности?
Loyd
То, что ты в крестах жопой можешь код писать и оно как-то будет работать, это не проблема раста
Loyd
А только твои
Anton
и как не копировать?
Alexander
@trionprog если это имеено mut Vec то при просто переписывании мы создаем leak?
Alexander
если это не вектора, а слайсы какие - то с ними и работать
Anton
по заданию надо перекопировать массив а в б. ТОЧКА. И ++ тут будут парвы
Anton
нельзя слайсы
Anton
это тоже борровинг
Alexander
почему нельзя?
Anton
раст не разрешит
Loyd
и как не копировать?
Скорее всего, это не должно быть в одной структуре. Но если это прям точно должно быть в одной, то либо предоставляешь get_a_and_b() -> (&mut Vec, &mut Vec), либо инкапсулируешь это в методе
Anton
потому что &mut [u32] толком не отличается от &mut Vec<u32>
Loyd
Вот ты подумай, как компилятор может проверять, что эти вектора непересекаются?
Loyd
Что это вообще не один и тот же вектор
Anton
А я вот сделал либу, и я ну думал, что юзер захочет и а и б юзать.. Я не могу писать таких геттеров get_a_and_b() ->
Anton
легко. Они лежат в разных областях памяти
Loyd
И он знает об этом на этапе компиляции?
Loyd
По сигнатуре функций?
Anton
А в controller+sizeof(before) B в controller+sizeof(before)+sizeof(A)
Loyd
Если ты будешь не о сферической херне в вакууме болтать, а о реальном примере, то мы подскажем, как сделать правильно. Правильно с архитектурной точки зрения, ибо у тебя пробелма именно в архитектуре
Anton
Он не знает.. что А и Б можно юзать поодиночке, и РАСТ ЭТОЙ ФУНКЦИИ НЕ ИМЕЕТ!
Alexander
где там был онлайн компилятор?
Loyd
Какой функции?
Alexander
спасибо нашёл
Anton
ну не скину я 4к строк кода. Какая тут сферическая х-ня? посмотрите любой код на С++, там этих геттеров полно, ибо это едиснтвенный способ дать поле юзеру так, чтобы он его, например, не изменил, или чтобы в момент сета сделать что-то еще. Но в расте веселее. веть ТРЕЙТЫ ЗАСТАЛЯЮТ ПИСАТЬ ГЕТТЕРЫ. ИНАЧЕ НИКАК! И они борровят всю структуру..