Size: a a a

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

2020 March 22

МЛ

Михаил Лёсин in Rust — русскоговорящее сообществo
спасибо, сейчас гляну
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
Denis
кажется, что anyhow тебе подойдёт лучше всего
а почему не failure?
источник

D

Denis in Rust — русскоговорящее сообществo
🦉 ⁣
а почему не failure?
он сильно менее удобен
источник

D

Denis in Rust — русскоговорящее сообществo
я вообще фанат снафу (snafu), честно говоря, ибо он даёт самые детальные ошибки, но не всегда прост в использовании
источник

D

Dmitry in Rust — русскоговорящее сообществo
Вафель
if let Ok(_)/if let Ok(var)?
    if let Ok(_) = var("WAYLAND_DISPLAY") &&  {
       if let Ok(_) = var("SWAYSOCK") {
           return "sway".to_string();
       }

Кажется работает, но не пойму как запихать эти две проверки в один if let
Иначе ругается на то, что else нету
источник

МЛ

Михаил Лёсин in Rust — русскоговорящее сообществo
Denis
кажется, что anyhow тебе подойдёт лучше всего
а можешь набросать пример как с помощью anyhow можно вернуть вектор из ошибок в Err()?
источник

МЛ

Михаил Лёсин in Rust — русскоговорящее сообществo
или я как-то неправильно задачу свою ставлю?
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
Denis
я вообще фанат снафу (snafu), честно говоря, ибо он даёт самые детальные ошибки, но не всегда прост в использовании
я последнее время вообще никаких либ не использую…
источник

M

Marat in Rust — русскоговорящее сообществo
Dmitry
    if let Ok(_) = var("WAYLAND_DISPLAY") &&  {
       if let Ok(_) = var("SWAYSOCK") {
           return "sway".to_string();
       }

Кажется работает, но не пойму как запихать эти две проверки в один if let
Иначе ругается на то, что else нету
if matches!(var("WAYLAND_DISPLAY"), Ok(_)) && matches!(var("SWAYSOCK"), Ok(_)) {
   return "sway".to_string();
}
источник

R

Re-L in Rust — русскоговорящее сообществo
Dmitry
    if let Ok(_) = var("WAYLAND_DISPLAY") &&  {
       if let Ok(_) = var("SWAYSOCK") {
           return "sway".to_string();
       }

Кажется работает, но не пойму как запихать эти две проверки в один if let
Иначе ругается на то, что else нету
if var("WAYLAND_DISPLAY").is_ok() && var("SWAYSOCK").is_ok() {return "sway".to_string()}
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
🦉 ⁣
я последнее время вообще никаких либ не использую…
но у меня в коде есть From<BLError> for PluginError
источник

R

Re-L in Rust — русскоговорящее сообществo
🦉 ⁣
я последнее время вообще никаких либ не использую…
+++
источник

R

Re-L in Rust — русскоговорящее сообществo
только руками, только хардкор
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
мне так нравится, потому что явно и понятно, что во что конвертитьъ
источник

МЛ

Михаил Лёсин in Rust — русскоговорящее сообществo
ну покажите как руками
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
Re-L
только руками, только хардкор
Но зачем, когда есть thiserror, который без отсебятины генерирует реализации Трейтов из std
источник

D

Dmitry in Rust — русскоговорящее сообществo
Marat
if matches!(var("WAYLAND_DISPLAY"), Ok(_)) && matches!(var("SWAYSOCK"), Ok(_)) {
   return "sway".to_string();
}
А если проверяю на отсутствие, то я вместо Ok(_) использую Err(VarError::NotPresent)?
источник

МЛ

Михаил Лёсин in Rust — русскоговорящее сообществo
я уже голову всю разбил 🙂
источник

🦉⁣

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

R

Re-L in Rust — русскоговорящее сообществo
Михаил Лёсин
ну покажите как руками
#[derive(Debug)]
struct MyError;
impl std::error::Error for MyError {...}
impl std::fmt::Display for MyError {...}
источник