rust лучше заменить на fn foo() -> Result<(), ()>? Тот случай, когда важен только факт ошибки.
Вряд ли. Если точно и гарантированно никогда не возникнет ничего в этой связи, а только лишь bool - то стоит и оставить. Есть же всякие .is_err() или .is_none(), у них своя ниша.
Я имею в виду случай, когда foo() вернёт результат "успешно" или "ошибка". В варианте с bool можно забыть обработать результат, а с Result будет warning unused Result.
Result<(), ()> скорее всего выкинет синтаксическую ошибку. А если и не выкинет, то вызовет печаль у читателя этого кода. Для этих случаев есть anyhow::Result, там только один параметр Result<()> А ошибка передаётся именно так, как вы хотите - "случилось ошыбко". Тип не нужен. Ошибка в этом случае выбрасывается через anyhow::bail! Ну или anyhow::Error, но bail! удобнее.
Если так удобнее, то почему бы и нет
Обсуждают сегодня