Size: a a a

Rust — русскоговорящее сообществo

2020 October 17

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Уффф
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Когда ты сражаешься с оптимизатором - параноидальность лишней не бывает
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Не, решение на 99% случаев не будет работать.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Почему?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Обычно Debug все-таки разный
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Потому что это библиотечный код.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Окей. Может про эти типы что-то известно?
Например это ссылки на owned-типы?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Мораль: даункасты — плохо, лучше работать без даункастов.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Эрик
Мораль: даункасты — плохо, лучше работать без даункастов.
Плохо делать даункасты, одновременно сражаясь с оптимизатором
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Эрик
Мораль: даункасты — плохо, лучше работать без даункастов.
Пробрось мне в исполняющийся фьючер пользовательский стейт без даункастов, я только рад буду.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Mikola Summer Duck
Пробрось мне в исполняющийся фьючер пользовательский стейт без даункастов, я только рад буду.
Контекст?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Или какой-нибудь Box<dyn Fn() -> State> хранить.
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Mikail Bagishov
Окей. Может про эти типы что-то известно?
Например это ссылки на owned-типы?
Ну в идеале про эти типы ничего не известно. Но предполагается что Т это структ с полями-ссылками.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Если сами поля уже owned, то можно дерайв-макрос написать
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Который позовет type_id и соберет из них слайс
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
А, понял о чём ты, не, поля скорее всего не-овнед.
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Mikola Summer Duck
Ну в идеале про эти типы ничего не известно. Но предполагается что Т это структ с полями-ссылками.
Если про них ничего не известно, то с ними нельзя никак работать.
Должен быть какой-то общий признак
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Если про них ничего не известно, то с ними нельзя никак работать.
Должен быть какой-то общий признак
Сейчас перешлю юзкейз с другого чата
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Переслано от Mikola Summer Duck
Сагжесчоны? Я в частности хочу чтоб можно было делать
let my_state = MyAwesomeState { foo: &foo, bar: &bar };
executor.tick(Some(my_state))
а затем во фьючере вызывать
fn get_state<'a, T>() -> Result<&T, GetStateError>
источник

D

Denis in Rust — русскоговорящее сообществo
ваще в общем случае поля с сылками хранить не получится, если там мутабельные ссылки конечно, потому что это приведёт к копированию мутабельных ссылок
а если ссылки иммутабельные, то можно их и в Arc позаворачивать
источник