Size: a a a

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

2020 March 02

VG

Vadim Galtsev in Rust — русскоговорящее сообществo
кто нибудь работал плотно с друидом?
там есть аналог margins?
чтобы можно было отступы между виджетами настроить
источник

r

red75prime in Rust — русскоговорящее сообществo
Heorhi
чтото я не понял, что я делаю не так
Поле запиненой структуры не является запиненым по умолчанию. См. https://doc.rust-lang.org/nightly/std/pin/index.html#projections-and-structural-pinning
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
У меня есть некая переменная err: E1, которая не Clone и res, который имеет тип Result<Option<T>, E2>.
Я хочу сделать из него Result<T, E1>
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Т. е. что-то вроде res.map_err(|_| err).ok_or(err).
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
А, .ok().flatten().ok_or(err).
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Emmanuel Goldstein
А, .ok().flatten().ok_or(err).
Впервые вижу юзкейс для flatten
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
У меня вообще чудовище из типов получилось, которое я разворачиваю вот так:
.ok().flatten().transpose().ok().flatten().ok_or(err)
источник

r

red75prime in Rust — русскоговорящее сообществo
Ууу. Ну почему нельзя match val { Ok(Some(v)) => Ok(v), _ => Err(err) }
источник

r

red75prime in Rust — русскоговорящее сообществo
Намерение намного яснее видно: выкидываем E2
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Потому что это не Result<T, E>, а Result<Result<Option<T>, E1>, E2>
источник

DV

Dmitry Volodin in Rust — русскоговорящее сообществo
Кстати практический вопрос
источник

r

red75prime in Rust — русскоговорящее сообществo
Ok(Ok(Some(v))) => Ok(v)
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Нет, вру.
Result<Option<Result<T, E1>>, E2>
источник

DV

Dmitry Volodin in Rust — русскоговорящее сообществo
кто-нибудь делал  из результатов cargo build/cargo test отчет в виде JUnit XML?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Кажется.
источник

G

Gymmasssorla in Rust — русскоговорящее сообществo
∅ ч
кстати, что думаете о function-like macro? я пока нашел 2 способа их применения:

точто я хочу сделать, типо: mode.update!() вместо update!(model) и match без map_err: error.or!
Это method-like macro (не забываем, что в Rust есть функции, есть ассоциированные функции, есть методы)
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
Gymmasssorla
Это method-like macro (не забываем, что в Rust есть функции, есть ассоциированные функции, есть методы)
чем ассоциированная функция от метода отличается?
источник

r

red75prime in Rust — русскоговорящее сообществo
Emmanuel Goldstein
У меня вообще чудовище из типов получилось, которое я разворачиваю вот так:
.ok().flatten().transpose().ok().flatten().ok_or(err)
Это мне очень напоминает point-free из хаскелля
источник

EG

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

G

Gymmasssorla in Rust — русскоговорящее сообществo
🦉 ⁣
чем ассоциированная функция от метода отличается?
impl Foo {
// Ассоциированная функция
fn a() {}

// Метод
fn a(&self) {}
}
источник