Size: a a a

2020 March 02

В

Вафель in rust_offtopic
Gymmasssorla
@WaffleLapkin, чем async/.await неуклюж?
1. Pin
2. сам видел ошибки
3. плохо композируется с лайфтаймами/Send/Sync
источник

В

Вафель in rust_offtopic
4. не работает с одной из главных фич языка — трейтами
источник

G

Gymmasssorla in rust_offtopic
Этого всего можно было бы избежать, если бы добавили возможность в язык возвращать impl Trait в методах трейта. Pin бы не было, ошибки были бы маленькие из-за стирания типов, а композироваться с лайфтаймами будет также, как и Iterator
источник

G

Gymmasssorla in rust_offtopic
Поэтому, КМК, ошибка всё же концептуальная
источник

P

Pavel in rust_offtopic
Gymmasssorla
Этого всего можно было бы избежать, если бы добавили возможность в язык возвращать impl Trait в методах трейта. Pin бы не было, ошибки были бы маленькие из-за стирания типов, а композироваться с лайфтаймами будет также, как и Iterator
Box<dyn Trait> это и есть стирание типов
источник

G

Gymmasssorla in rust_offtopic
+ Код бы не пришлось переписывать на async/.await
источник

G

Gymmasssorla in rust_offtopic
Pavel
Box<dyn Trait> это и есть стирание типов
Без Box и dyn, пожалуйста
источник

P

Pavel in rust_offtopic
Gymmasssorla
Без Box и dyn, пожалуйста
void*
источник

G

Gymmasssorla in rust_offtopic
Pavel
void*
И со статической типизацией
источник

P

Pavel in rust_offtopic
Gymmasssorla
И со статической типизацией
так стёрты ж типы
источник

G

Gymmasssorla in rust_offtopic
Pavel
так стёрты ж типы
Ты же можешь написать

fn foo(...) -> impl Trait { ... }
источник

SP

Stanislav Popov in rust_offtopic
Gymmasssorla
Этого всего можно было бы избежать, если бы добавили возможность в язык возвращать impl Trait в методах трейта. Pin бы не было, ошибки были бы маленькие из-за стирания типов, а композироваться с лайфтаймами будет также, как и Iterator
Может хватит бухтеть и дестабилизировать ситуацию в расте?
Есть инфа от знающего человека, что у нас в сообществе скоро ожидаются реальные изменения. После того, как стабилизируют ситуацию с awync/await, уничтожат actix. Тогда везде и сформируют функциональный альянс с свифтом. impl Trait  поднимут и будут держать,  UB ничего не сможет сделать. Сейчас главное не бухтеть.

От нас требуется сидеть тихо. После того, как все сделают, все будет у нас хорошо. Всем устроят довольствие, как блокчейн девелоперам - каждый будет кататься в библиотеках как в масле. Главное сейчас сидеть тихо и не суетиться. Никаких конференций, никаких пулл-реквестов. Просто переждать и всё будет хорошо, там все схвачено.
источник

r

red75prime in rust_offtopic
Gymmasssorla
Этого всего можно было бы избежать, если бы добавили возможность в язык возвращать impl Trait в методах трейта. Pin бы не было, ошибки были бы маленькие из-за стирания типов, а композироваться с лайфтаймами будет также, как и Iterator
А pin'а почему-бы не было? Он нужен для структур со ссылками внутрь себя. impl Trait тут параллельно
источник

P

Pavel in rust_offtopic
Gymmasssorla
Ты же можешь написать

fn foo(...) -> impl Trait { ... }
вроде ж impl Trait ансайзд, не?
источник

G

Gymmasssorla in rust_offtopic
red75prime
А pin'а почему-бы не было? Он нужен для структур со ссылками внутрь себя. impl Trait тут параллельно
С futures 0.1.0 не нужен он был
источник

r

red75prime in rust_offtopic
Gymmasssorla
С futures 0.1.0 не нужен он был
Брррр. Лучше пин, чем комбинаторы
источник

G

Gymmasssorla in rust_offtopic
red75prime
Брррр. Лучше пин, чем комбинаторы
Почему?
источник

P

Pavel in rust_offtopic
хотя непонятно, почему он должен быть ансайзд
источник

G

Gymmasssorla in rust_offtopic
Pavel
вроде ж impl Trait ансайзд, не?
источник

r

red75prime in rust_offtopic
Gymmasssorla
Почему?
Потому что конечные автоматы конструировать с помощью комбинаторов - то ещё удовольствие.
источник