Size: a a a

2020 August 16

p

polunin.ai in rust_offtopic
Скачивается крейт один раз
источник

p

polunin.ai in rust_offtopic
А к инкременталке будет добавлять 0,3 мс
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
Скачивается крейт один раз
Это если не влом в CI настраивать sccache
источник

EG

Emmanuel Goldstein in rust_offtopic
Мне влом, например
источник

p

polunin.ai in rust_offtopic
Первая компиляция 0,3 с
источник

p

polunin.ai in rust_offtopic
В общем эмануилу удобство менее важно чем скорость как всегда
источник

p

polunin.ai in rust_offtopic
Куда ты так спешишь?
источник

EG

Emmanuel Goldstein in rust_offtopic
Мне неудобно форкать херню, слать PR, следить за этим
источник

EG

Emmanuel Goldstein in rust_offtopic
Ради сеттеров к пяти полям
источник

EG

Emmanuel Goldstein in rust_offtopic
Делов-то
источник

EG

Emmanuel Goldstein in rust_offtopic
Правило трёх не нарушается, код дублируется только два раза.
источник

p

polunin.ai in rust_offtopic
polunin.ai
Telegram
Мюсли Foland'a
Я тут кое что осознал. Когда мы пишем Foo<Type1, Type2> мы на самом деле под этим подразумеваем Foo { field1: Type1, field2: Type2 }. Почему бы эту неявность не перевести в явность и дать возможность заабузить?

Шаг первый: разрешение на получение доступа к полям на уровне типов.
Можно предложить такой синтаксис (здесь и далее примеры на псевдо-Haskell):
data Vect s t = MkVect { size :: s, ... }
head :: Vect (size :: Nat) t -> t
Таким образом мы объявляем структуру данных Vect с обобщённым параметром size - размером вектора и t - типом элемента.

Шаг второй: обобщенные параметры по умолчанию.
С предыдущей записью нам пришлось бы записывать для каждого использования типа size :: Nat, что выглядит вербозно. Обобщенные параметры по умолчанию уже реализованы в языке Rust. Перепишем наш прошлый пример:
data Vect (size :: Nat) t = ...
head :: Vect size t -> t
Выглядит довольно симпатично!

Шаг третий: посыпаем refinement типами.
Здесь я буду использовать синтаксис очень схожий с refinementd, где вы можете почитать…
@tyranron вот то что я предложил, этоо как раз чисто рефайнмент типы
источник

А⚙

Антон ⚙️ in rust_offtopic
Aleksandr Razumov
ну кубернетис два раза пытались на раст переписать и обосрались, например
Потому что кубенематис написан фактически на своём диалекте Go. Переносить это в лоб неправильно, надо переносить архитектуру, а это уже сложнее
источник

А⚙

Антон ⚙️ in rust_offtopic
источник

А⚙

Антон ⚙️ in rust_offtopic
Aleksandr Razumov
т.е это ЧАСТЬ докера, и уже не осилили
Там говнокод
источник

b

badtrousers in rust_offtopic
а скажите кто лучше всех шарит девопс
источник

b

badtrousers in rust_offtopic
какой способ проще всего сделать типа контейнер чтобы в нем был крутой масштабируемый кластер?
источник

b

badtrousers in rust_offtopic
типа кубернетес, только еще проще наверное?
источник

D

Demian in rust_offtopic
badtrousers
какой способ проще всего сделать типа контейнер чтобы в нем был крутой масштабируемый кластер?
Compose если на одной машине, Swarm для кластера
источник

KR

Kai Ren in rust_offtopic
Aleksandr Razumov
теперь с РАСТА переписывают на РАСТ
обычный nih, не riir
источник