Size: a a a

2020 April 25

А⚙

Антон ⚙️ in rust_offtopic
polunin.ai
Нечего больше делать
Telegram
Блог*
#prog #rust #моё

Rust, будучи достаточно низкоуровневым языком, тем не менее, даёт возможность использовать замыкания. Эти замыкания не требуют динамической аллокации памяти и могут размещаться на стеке. Вкупе с оптимизатором LLVM это увеличивает шансы на то, что в сгенерированном коде замыкания в явном виде вообще не окажутся. Тем не менее, есть и обратная сторона медали: тип замыкания зависит от того, какие значение оно захватывает, поэтому в Rust каждый литерал замыкания имеет свой собственный тип. Например, код вида let closures = [|x| x + 1, |x| x + 2]; не компилируется.

Один из паттернов, который можно встретить в коде на Rust — это возврат того или иного замыкания в зависимости от некоторого условия. Для обхода ситуации с уникальными типами замыкания есть как минимум два пути:
а) Поместить замыкание в кучу и вернуть указатель на него, а в качестве возвращаемого типа указать что-то вроде Box<dyn Fn(Foo, Bar) -> Baz>. Очевидный  недостаток — падение производительности на ровном месте. Более того, выделение…
источник

А⚙

Антон ⚙️ in rust_offtopic
Doge Shibu
Так зачем писать реализацию самому, если по методу с таким названием и так её можно сгенерить
Затем, что я хочу видеть у себя в коде осмысленные имена, а не SQL в CamelCase. Вдобавок, с нормальным именем можно поменять реализацию и не бегать потом по всему проекту и заменять вождения
источник

А⚙

Антон ⚙️ in rust_offtopic
Pavel
блять, телега, ты ебанулась?
Нет, ты
источник

DF

Dollar Føølish in rust_offtopic
Korvin 0x7CFE
и у Интела, раз уж Пентковский там работал
Бабаян еще
источник

DF

Dollar Føølish in rust_offtopic
Ingres began as a research project at the University of California, Berkeley, starting in the early 1970s
источник

DF

Dollar Føølish in rust_offtopic
Вполне sql, это же не берклидб
источник

DF

Dollar Føølish in rust_offtopic
А постгрес
источник

А⚙

Антон ⚙️ in rust_offtopic
polunin.ai
Инкапсуляция не нужна
В расте ты бы тоже предпочёл напрямую до RawVec из Vec иметь возможность достучаться?
источник

MB

Mikail Bagishov in rust_offtopic
Антон ⚙️
В расте ты бы тоже предпочёл напрямую до RawVec из Vec иметь возможность достучаться?
Там уже лучше придумали, arc.strong_count -= 1;
источник

А⚙

Антон ⚙️ in rust_offtopic
Doge Shibu
(т.е. не вижу проблем в юникод операторах в той же агде, тупо дело привычки, а код красиво смотрится)
Их набирать неудобно
источник

А⚙

Антон ⚙️ in rust_offtopic
Mikail Bagishov
Там уже лучше придумали, arc.strong_count -= 1;
👌😭
источник

RP

Roman Proskuryakov in rust_offtopic
Alex Zhukovsky
я слышал про русские корни
корни не русские, но есть несколько русских ребят, которые серьезно вложились в пг
источник

А⚙

Антон ⚙️ in rust_offtopic
Сука, всё никак осилить не могу
источник

DS

Doge Shibu in rust_offtopic
Антон ⚙️
Их набирать неудобно
Если правильно настроенная IDE под это, то норм
источник

А⚙

Антон ⚙️ in rust_offtopic
Т-34 85
интересно, тогда в плюсах лямбды круче чем в шарпе. Более того, для них работает вывод типов, в отличие от шарповских
Ты не напишешь в плюсах Iterator::collect
источник

D

Dika in rust_offtopic
Антон ⚙️
Их набирать неудобно
Мне удобно
источник

А⚙

Антон ⚙️ in rust_offtopic
Т-34 85
аа. Но это страшно, плюсовый вариант красивее
Это который с явным списком захвата?
источник

А⚙

Антон ⚙️ in rust_offtopic
Pavel
потому, что они уже используются оператором индексации
А какая рациональная причина использовать квадратные скобки именно для индексации?
источник

r

red75prime in rust_offtopic
Антон ⚙️
А какая рациональная причина использовать квадратные скобки именно для индексации?
Устоявшее использование в C-подобных языках.
источник

А⚙

Антон ⚙️ in rust_offtopic
Т-34 85
плевать на то, как там в математике, если в си-подобном синтаксисе это не так (для си-подобного языка, конечно. К пайтону и т.д. не относится)
До C++11, если не ошибаюсь, компиляторы интерпретировали последовательность >> при объявлении вложенных шаблонов не как скобки, а как оператор сдвига, приходилось писать > >
источник