Size: a a a

2020 February 21

p

polunin.ai in rust_offtopic
Чтобы можно было подключать напрямую Раст библиотеки и юзать
источник

p

polunin.ai in rust_offtopic
Тогда было бы заебись
источник

∅ч

∅ ч in rust_offtopic
Doge Shibu
Попробуй вернуть итератор неизветсного типа из трейта
пример
источник

∅ч

∅ ч in rust_offtopic
что за итератор не известного типа?
источник

∅ч

∅ ч in rust_offtopic
типо Item = dyn?
источник

DS

Doge Shibu in rust_offtopic
Тебе важно в таких случаях наиболее понятным и удобным образом написать свою логику так, чтобы она максимально близка была к бизнес описанию задачи
источник

DS

Doge Shibu in rust_offtopic
∅ ч
пример
Простейший пример того, чего бы мне хотелось:
trait Something {
 fn get_iter(&self) -> impl Iterator<Item=i32>
}


Сейчас это приходится делать через стандартный паттерн с associated типом
источник

∅ч

∅ ч in rust_offtopic
Doge Shibu
Простейший пример того, чего бы мне хотелось:
trait Something {
 fn get_iter(&self) -> impl Iterator<Item=i32>
}


Сейчас это приходится делать через стандартный паттерн с associated типом
и что здесь не так?
источник

DS

Doge Shibu in rust_offtopic
∅ ч
и что здесь не так?
То, что в сложных случаях приходится либо боксить (что для итераторов очень критично), либо ещё больше усложнять всю схему.
источник

DS

Doge Shibu in rust_offtopic
Получается, что на трейт с парой методов у тебя куча associated типов и всё это выглядит и поддерживается не очень эргономично, хотя задача очень частая
источник

DS

Doge Shibu in rust_offtopic
Это же относится и к футурам, хотя там боксить уже не так страшно
источник

DS

Doge Shibu in rust_offtopic
Ещё веселее в этом плане будет, когда завезут стабильные генераторы для Iterator и вон тогда очень уж весело будет возвращать итераторы из методов трейта.
источник

∅ч

∅ ч in rust_offtopic
кстати, а как боксинг работает?
источник

お願い誰か助けて in rust_offtopic
Чуваки, кто на Safari сидит
Не было ли проблем с тем, что
rustup doc --std
Даёт страницу без стилей совсем?
источник

∅ч

∅ ч in rust_offtopic
именно с типажами?
источник

∅ч

∅ ч in rust_offtopic
типо как Any или что?
источник

DS

Doge Shibu in rust_offtopic
∅ ч
кстати, а как боксинг работает?
Each instance of a pointer to a trait object includes:
1. a pointer to an instance of a type T that implements SomeTrait
2. a virtual method table, often just called a vtable, which contains, for each method of SomeTrait and its supertraits that T implements, a pointer to T's implementation (i.e. a function pointer).


https://doc.rust-lang.org/reference/types/trait-object.html`
источник

DS

Doge Shibu in rust_offtopic
Если про трейт обжекты
источник

∅ч

∅ ч in rust_offtopic
Doge Shibu
Each instance of a pointer to a trait object includes:
1. a pointer to an instance of a type T that implements SomeTrait
2. a virtual method table, often just called a vtable, which contains, for each method of SomeTrait and its supertraits that T implements, a pointer to T's implementation (i.e. a function pointer).


https://doc.rust-lang.org/reference/types/trait-object.html`
а... лол
источник

∅ч

∅ ч in rust_offtopic
ну хотя это логично хм
источник