Size: a a a

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

2020 September 07

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
ох, я понял. Значит буду изголяться через mod с таким же именем, что и у struct
источник

AN

Alex Noname in Rust — русскоговорящее сообществo
Почему не MyAwesomeStructStorageType вместо MyAwesomeStruct::Storage Type ?)
источник

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
Alex Noname
Почему не MyAwesomeStructStorageType вместо MyAwesomeStruct::Storage Type ?)
можно и так, да. просто когда у тебя таких типов штук 5-10 - это мусор какой-то
источник

AN

Alex Noname in Rust — русскоговорящее сообществo
Ну да 5-10 многовато
источник

RW

Robert Williams in Rust — русскоговорящее сообществo
Переслано от Lego man
Later in day when London / US wake up, we may get the big decisive move.  Sub-10k or back above 10.5k. Right now this is pre-main event.
источник

b

in Rust — русскоговорящее сообществo
Переслано от
приветствую, хочу делать вот так https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=943c64c29c0ec7320836176143634267
а можно ли так делать? а именно хочу одновременно использовать ? для reqwest::get но и в то же время вернуть какой-то ENum ошибки своей если что-то пошло не так
источник

VK

Vasily Kondratyev in Rust — русскоговорящее сообществo
Ну, по классике создаётся свой enum Error со своей информацией, в который заворачиваются другие нужные errors, и реализуется From от нужных.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Переслано от
приветствую, хочу делать вот так https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=943c64c29c0ec7320836176143634267
а можно ли так делать? а именно хочу одновременно использовать ? для reqwest::get но и в то же время вернуть какой-то ENum ошибки своей если что-то пошло не так
Вот так: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=1e8ea23cf6a894154636276f7b3d321e

Но матчить http-хэдеры через регулярки это мем :)
источник

dp

dark pit in Rust — русскоговорящее сообществo
не пойму: почему *mut RefCell<dyn T> и *mut RefCell<()> разного размера, хотя и то и другое должно быть просто одним указателем?

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=dbaaf14c2f9969064a82291fba39b677
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
dark pit
не пойму: почему *mut RefCell<dyn T> и *mut RefCell<()> разного размера, хотя и то и другое должно быть просто одним указателем?

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=dbaaf14c2f9969064a82291fba39b677
для dyn T хранится толстый указатель т.к. нужен ещё &'static VTable
источник

dp

dark pit in Rust — русскоговорящее сообществo
вафель 🧇
для dyn T хранится толстый указатель т.к. нужен ещё &'static VTable
и почему оно хранится не внутри refcell?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
dark pit
и почему оно хранится не внутри refcell?
Потому что так код написан ¯\_(ツ)_/¯
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
источник

dp

dark pit in Rust — русскоговорящее сообществo
пока не вижу логики
источник

dp

dark pit in Rust — русскоговорящее сообществo
а если в типе будет несколько dyn T параметров?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
dark pit
а если в типе будет несколько dyn T параметров?
Ошибка компиляции :)
источник

dp

dark pit in Rust — русскоговорящее сообществo
я понимаю, что такое trait object.  я не понимаю, как в данном случае выглядит раскладка памяти.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
В типе может быть только одно (последнее) ?Sized поле
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Если в структуре !Sized поле, то meta часть указателя (vtable/len) равна той, что была бы у указателя на последнее поле
источник

d

diabolo in Rust — русскоговорящее сообществo
dark pit
я понимаю, что такое trait object.  я не понимаю, как в данном случае выглядит раскладка памяти.
это неплохо расписано в номиконе.
источник