Size: a a a

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

2020 October 26

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
Эрик
Нет. Разве что
if let () = () { } else { unreachable!() };
ага, спасибо
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Эрик
Нет. Разве что
if let () = () { } else { unreachable!() };
не знаю. мне match нравится более чем if let, даже в этой ситуации (меньше лишних строк)
источник

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
в match при коротком теле case на одной строке будет находиться и вариант, и тело case, что очень удобно для восприятия (по крайней мере, мне)
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Mikail Bagishov
Если проблема 1 реально есть, то наверное правильное решение это поконтрибьютить в crates-io
Проблема конечно реально есть, и думаю что не только у меня. Устроился ты в контору в какую-нибудь, подписал нда, а тут тебя crates.io просит дать доступ к их приватным репозиториям. И мне не то чтобы жалко, но просто может быть я немного стесняюсь сообщать такой уважаемой организации, как crates.io, что я состою в каких-нибудь "Рогах и Ко". )

Собственно, я может и не против поконтрибьютить даже, но что-то мне подсказывает что процесс принятия пулреквеста в crates.io будет долог и извилист (но может быть и нет)
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Ilya Lakhin
Проблема конечно реально есть, и думаю что не только у меня. Устроился ты в контору в какую-нибудь, подписал нда, а тут тебя crates.io просит дать доступ к их приватным репозиториям. И мне не то чтобы жалко, но просто может быть я немного стесняюсь сообщать такой уважаемой организации, как crates.io, что я состою в каких-нибудь "Рогах и Ко". )

Собственно, я может и не против поконтрибьютить даже, но что-то мне подсказывает что процесс принятия пулреквеста в crates.io будет долог и извилист (но может быть и нет)
Я думаю что такой ПР будет небольшим и его быстро примут. По крайней мере такой мой опыт с rust-lang/rust - если изменение бесспорно хорошее, то его мерджат очень быстро, за пару дней максимум
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
Mikail Bagishov
Я думаю что такой ПР будет небольшим и его быстро примут. По крайней мере такой мой опыт с rust-lang/rust - если изменение бесспорно хорошее, то его мерджат очень быстро, за пару дней максимум
Уже год жду стабилизации bool_to_option, задача которого сводится к этим двум методам
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
Mikail Bagishov
Я думаю что такой ПР будет небольшим и его быстро примут. По крайней мере такой мой опыт с rust-lang/rust - если изменение бесспорно хорошее, то его мерджат очень быстро, за пару дней максимум
источник

K

Kitsu in Rust — русскоговорящее сообществo
> если изменение бесспорно хорошее
источник

MP

Mag Pie in Rust — русскоговорящее сообществo
Иван Лещенко
Уже год жду стабилизации bool_to_option, задача которого сводится к этим двум методам
Но зачем? Для чего?
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
Mag Pie
Но зачем? Для чего?
Превращать bool в Option не выходя из цепочки вызовов
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
Иван Лещенко
Превращать bool в Option не выходя из цепочки вызовов
Можете привести простой пример? Я что-то с ходу не могу придумать...
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
А тут споры есть
источник

K

Kitsu in Rust — русскоговорящее сообществo
Alexander Tchitchigin
Можете привести простой пример? Я что-то с ходу не могу придумать...
Я могу привести кейс удаление из хэшсета, правда обычно нужно замапить в резалт. Еще вариант Iterator::{any,all}, но кмк очень специфичные вещи
источник

SS

Slava Sokolovsky in Rust — русскоговорящее сообществo
Эрик
let mut iter = addr.to_socket_addrs()?;
let first = iter.next().unwrap();
if let Some(_) = iter.next() { panic!() }


Только в рантайме паниковать или возвращать ошибку.
Ну или принимать SocketAddr, а не генерик.
Использую второй вариант, но передавать "host:port”.to_socket_addrs().unwrap().next().unwrap()
Многовато писать, да?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Slava Sokolovsky
Использую второй вариант, но передавать "host:port”.to_socket_addrs().unwrap().next().unwrap()
Многовато писать, да?
А нафига так много писать, если оно просто "host:port".try_into()?
источник

SS

Slava Sokolovsky in Rust — русскоговорящее сообществo
Эрик
А нафига так много писать, если оно просто "host:port".try_into()?
Разве так можно? str->SocketAddr
источник

Э

Эрик in Rust — русскоговорящее сообществo
А, ну да, нельзя.
источник

Э

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

Э

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

p

polunin.ai in Rust — русскоговорящее сообществo
есть некое значение T. У данного значения два состояния: неинициализировано, и в таком случае единственное доступное действие - инициализация. И инициализированное, в таком случае мутация не будет происходить, и нужна возможность взятия ссылки на это значение. Это значение хранится в поле структуры, и инициализируется и отдается ссылка в одном методе. Нужно чтобы этот метод принимал &self а не &mut self. что использовать? UnsafeCell?
источник