Size: a a a

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

2020 April 17

Э

Эрик in Rust — русскоговорящее сообществo
И да, идея не моя, просто запомнилось. Вроде бы из этого чата откуда-то.
источник

r

red75prime in Rust — русскоговорящее сообществo
Gymmasssorla
Как мне узнать тип переменной foo? rust-analyzer и Vs Code
В настройках "rust-analyzer.inlayHints.typeHints": true есть?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Gymmasssorla
Как мне узнать тип переменной foo? rust-analyzer и Vs Code
РА с макросами справляется хуже чем идея
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
red75prime
В настройках "rust-analyzer.inlayHints.typeHints": true есть?
Да
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
че-то я начинаю не любить Токио Кодеки. Не оставляет ощущение что если бы был async trait без боксинга, то они вообще нафиг не нужны. Удобнее не стейтмашину руками писать, а read.await?; read.await?;

Но раз без боксинга мы не можем сделать async trait, то нужно писать какую-нибудь стейтмашину руками. Но тогда вопрос - почему бы не писать футуру руками, а не какой-то кастомный тип? Тогда он хотя бы будет совместимым с async/await снаружи.
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
Doge Shibu
Ага, я вроде пока там смотрел, видел какие-то заготовки связанные с энамами, но могу ошибаться.

См. derive LabelledGeneric, как минимум в коде макроса у них есть ветка для энама:
https://github.com/lloydmeta/frunk/blob/941ba138f406f88a53f67f6eab3f8985240d6fef/derives/src/derive_labelled_generic.rs#L79
А если мне просто Generic нужен, не LabelledGeneric?
источник

DS

Doge Shibu in Rust — русскоговорящее сообществo
Gymmasssorla
А если мне просто Generic нужен, не LabelledGeneric?
Возможно имеет смысл по аналогии взять реализацию из этого макроса и перенести в свой макрос для Generic.

Или ещё один вариант: написать свой конвертер из Repr'ов LabelledGeneric в просто Generic
источник

DS

Doge Shibu in Rust — русскоговорящее сообществo
Т.к. HCons<Field<..., A>,...> элементарно переводится в HCons<A, ...>
источник

А

Александр in Rust — русскоговорящее сообществo
Эрик
Ну или напиши let foo: () = ..., а потом с ошибки скопируй.
Господи, это действительно гениально
источник

SM

Sergey Makarov in Rust — русскоговорящее сообществo
Эрик
Ну или напиши let foo: () = ..., а потом с ошибки скопируй.
Hole driven development теперь и на расте?
источник

IA

Ivan Azoyan in Rust — русскоговорящее сообществo
Sergey Makarov
Hole driven development теперь и на расте?
что это такое
источник

Э

Эрик in Rust — русскоговорящее сообществo
Sergey Makarov
Hole driven development теперь и на расте?
Да нет, это просто трюк, чтобы узнать тип. Пока что RA не может в макросы нормально, а вот rustc может.
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
Ivan Azoyan
что это такое
источник

A

Aragaer in Rust — русскоговорящее сообществo
чорд, я думал я один таким занимаюсь - пишу какой-нибудь тип, а потом смотрю ошибку
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
Это целая методология)
источник

A

Aragaer in Rust — русскоговорящее сообществo
error message driven development
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Sergey Makarov
Hole driven development теперь и на расте?
Hole driven это unimplemented!().
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
polunin.ai
Hole driven это unimplemented!().
Который не работает
источник

SM

Sergey Makarov in Rust — русскоговорящее сообществo
polunin.ai
Hole driven это unimplemented!().
Ну нет, unimplemented приводит к рантайм-ошибкам
источник

Э

Эрик in Rust — русскоговорящее сообществo
Sergey Makarov
Ну нет, unimplemented приводит к рантайм-ошибкам
compile_error!()?
источник