Size: a a a

2020 March 10

OA

Oleg Andreev in rust_offtopic
Alex Zhukovsky
let x = foo().safe_unwrap()
тут проблема не в том, что какой-то оверхед, а в том, что если потом тип поменяют с Невер на Самтаймс, то пизда рулю. Компилятор не поможет найти анврапы которые нужно переписать
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Не будет. Можно написать safe_unwrap(), но в матчах всё равно придётся учитывать этот кейс
зачем тебе матч?
источник

AZ

Alex Zhukovsky in rust_offtopic
там всегда одна ветка
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
зачем тебе матч?
В мемориз
источник

EG

Emmanuel Goldstein in rust_offtopic
В сложных ситуациях мне матч
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
В мемориз
fn main() {
   let x: Type = Either::Right(Ok(0));
   let y = match x {
       Either::Left(v) => v,
       Either::Right(v) => v.safe_unwrap(),
   };
   println!("{}", y);
}


Не вижу проблемы
источник

P

Pavel in rust_offtopic
Слава
Я согласен не писать за бабки
я тоже, куда апплаиться?
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
fn main() {
   let x: Type = Either::Right(Ok(0));
   let y = match x {
       Either::Left(v) => v,
       Either::Right(v) => v.safe_unwrap(),
   };
   println!("{}", y);
}


Не вижу проблемы
А теперь внутри этого Ok() тоже что-то было, и утебя пойдёт ещё один уровень вложенности типа
Either::Right(v) => match v.safe_unwrap() {
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
А теперь внутри этого Ok() тоже что-то было, и утебя пойдёт ещё один уровень вложенности типа
Either::Right(v) => match v.safe_unwrap() {
Ну ладно
источник

AZ

Alex Zhukovsky in rust_offtopic
если у тебя 3 вложенных матча то ты уже что-то странное делаешь
источник

AZ

Alex Zhukovsky in rust_offtopic
и не вижу ничего плохого в match v.safe_unwrap()
источник

EG

Emmanuel Goldstein in rust_offtopic
Добавляет лишний уровень вложенности там, где он не нужен
источник

AZ

Alex Zhukovsky in rust_offtopic
чуть-чуть больше буковок чем if let Ok(v) = match v
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Добавляет лишний уровень вложенности там, где он не нужен
нет там лишнего уровня вложенности
источник

AZ

Alex Zhukovsky in rust_offtopic
у меня столько же сколько у тебя по ссылке
источник

EG

Emmanuel Goldstein in rust_offtopic
источник

p

polunin.ai in rust_offtopic
О, ещё один спор а вот если бы в расте
источник

AZ

Alex Zhukovsky in rust_offtopic
И как ты от него избавиться планируешь?
источник

AZ

Alex Zhukovsky in rust_offtopic
А, вижу
источник

AZ

Alex Zhukovsky in rust_offtopic
1. минорный сахар
2. мне вариант первый иногда может лучше подойти
источник