Size: a a a

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

2020 September 24

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
Подскажите, какие есть способы уменьшить кол-во кода при работе с WinAPI, где каждый результат требуется проверять на 0, null_mut и подобное?
Подумываю написать функцию или макрос, получающий первым параметром объект с функцией и массивом параметром, вторым - подробный текст ошибки или что-то ещё, результатом получать валидный объект.
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
но подобное выглядит излишне замудрённым
источник

Э

Эрик in Rust — русскоговорящее сообществo
trait Nullable {
type Pointer;
fn nullable_to_option(self) -> Option<Pointer>;
}
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Ещё можешь посмотреть в сторону <*const|mut T>::as_{ref,mut}, они возвращают None, если они null
источник

AR

Alexandr Rudalev in Rust — русскоговорящее сообществo
Zymlex (Юрий)
Подскажите, какие есть способы уменьшить кол-во кода при работе с WinAPI, где каждый результат требуется проверять на 0, null_mut и подобное?
Подумываю написать функцию или макрос, получающий первым параметром объект с функцией и массивом параметром, вторым - подробный текст ошибки или что-то ещё, результатом получать валидный объект.
Обернуть все WinAPI аналогичными функциями с Result, создать структуры и методы для ханделов и т.д. Что даст нормальный Rust API и позволит писать логику приложения без unsafe
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
Alexandr Rudalev
Обернуть все WinAPI аналогичными функциями с Result, создать структуры и методы для ханделов и т.д. Что даст нормальный Rust API и позволит писать логику приложения без unsafe
Да, похоже самый цивильный способ.
источник

MF

Max Frai in Rust — русскоговорящее сообществo
Еще у кого-то не работает async-std компиляция?
источник

MF

Max Frai in Rust — русскоговорящее сообществo
--> /Users/frai/.cargo/registry/src/github.com-1ecc6299db9ec823/async-std-1.6.4/src/fs/open_options.rs:303:5
   |
303 |     impl OpenOptionsExt for OpenOptions {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `as_flags` in implementation
источник

MF

Max Frai in Rust — русскоговорящее сообществo
источник

MF

Max Frai in Rust — русскоговорящее сообществo
Что-то последнее время куча проблем с компилятором
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Max Frai
Что-то последнее время куча проблем с компилятором
Так никто не фиксит все только сюда жалуются
источник

M

Mnwa in Rust — русскоговорящее сообществo
Я тут свой proc macro крейт набросал для создания dependency injection контейнеров, proc macro конечно очень крутая штука.
Вдруг кому пригодится
https://github.com/Mnwa/rust-derive-di
источник

GA

Goga Asoka in Rust — русскоговорящее сообществo
Подскажите, делаю чат и хочу разъеденить логичискую часть и фронтенд на клиенте. Придумал только создать между ними соеденение по  вебсокетам, но тогда логичаская сторона приложения, получается, будет и клиентом (для удаленног сервера) и сервером (для фронта). Как я могу еще устроить коммуникацию между логикой (что бы она была как API для него) и фронтом?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Goga Asoka
Подскажите, делаю чат и хочу разъеденить логичискую часть и фронтенд на клиенте. Придумал только создать между ними соеденение по  вебсокетам, но тогда логичаская сторона приложения, получается, будет и клиентом (для удаленног сервера) и сервером (для фронта). Как я могу еще устроить коммуникацию между логикой (что бы она была как API для него) и фронтом?
Что такое "логическая сторона"?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну а вообще, для таких штук обычно берут JSON/protobuf/flatbuffers и через непрямое API делают, если фронт предполагается отдельным приложением, а не embedded.
источник

GA

Goga Asoka in Rust — русскоговорящее сообществo
Эрик
Что такое "логическая сторона"?
У меня, это шифрование, отфильтровывание сообщений, хранение ключей и т.п.
источник

GA

Goga Asoka in Rust — русскоговорящее сообществo
Эрик
Ну а вообще, для таких штук обычно берут JSON/protobuf/flatbuffers и через непрямое API делают, если фронт предполагается отдельным приложением, а не embedded.
почитаю про эти два слова после JSON'a. Спасибо
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Goga Asoka
Подскажите, делаю чат и хочу разъеденить логичискую часть и фронтенд на клиенте. Придумал только создать между ними соеденение по  вебсокетам, но тогда логичаская сторона приложения, получается, будет и клиентом (для удаленног сервера) и сервером (для фронта). Как я могу еще устроить коммуникацию между логикой (что бы она была как API для него) и фронтом?
Мб rpc
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Max Frai
Еще у кого-то не работает async-std компиляция?
По-моему фикс должен быть в найтли уже или завтра.

(А вообще, надо было использовать токио)
источник

AT

Alexander T in Rust — русскоговорящее сообществo
на чем посоветуете делать джсономешалку (рест-апи)?
источник