latin-1, которая кое-где является стандартом, передаёт привет например, как и дефолтный энкодинг винды в виде utf-16, либо cp-866 в моём случае. Я вообще докером пользуюсь, но почему-то ловлю эту ошибку.
ну у меня постгрес точно так же локально поднят в докере и там ютф емнип. В любом случае стоит им ишшую создать - чтобы они хотя бы нормошибку возвращали "Юзайте ютф, бич", а не тупо валилось с непонятно чем
Уже заполняю ишшую им. Анврап в либах - зло.
почему именно в либах?
так у меня тоже utf-8 и постгрес в докере.
а, ну у меня хост англоязычный, мб в этом дело) Я стараюсь локализованный софт не юзать как раз во избежание
Либы используются большим количеством людей, поэтому ИМХО - как можно большее количество ошибок должно быть завёрнуто в корректные Error, а unwrap - только если 100% уверенность в том, что там всё норм ЛИБО это анврап уровня токийского рантайма, что без его поднятия приложение не имеет смысла и ошибку толком не обработать, бинарник - твой и за обработку ошибок в нём отвечаешь именно ты, падения в рантайме и тд - твоя забота, делай как тебе удобнее, особенно если веб, но там всё обмазано ? будет и прокидываться в actix/warp/tide/etc, где свои хендлеры. Это моё мнение.
есть сомнения, что unwrap не очень хорошо по сравнению с if let не только в либах, а вообще
Вообще да, но я больше про уровень ответственности. У меня где-то анврап стрельнул, посмотрел логи, поправил, ок. Анврап в либе - иди пиши ишью, что вот при такой фазе луны у вас тут всё падает. Как я сейчас.
потому что в приложении у тебя есть полнота информации о том, хочешь ты тут ошибку или нет. Скоуп приложения тоже обычно небольшой. При этом библиотека ничего не знает про то, как её будут использовать, и скоуп ответственности у многих либ огромный
а если, допустим, один разраб опубликовал rust-приложение на github, а другой использует это приложение, а в этом приложении unwrap, это ок?
нельзя опубликовать приложение, если только это не фреймворк. На расте фреймворков я не припоминаю, весь код это библиотеки. Даже актиксы оформленны как либы
на github нельзя опубликовывать исходники rust-приложения?
Такое стоит ловить через catch_unwind и просить написать разрабу об ошибке, наверное. Не встречался с падением растовых приложений.
у меня в rust-приложении была паника из-за того, что я unwrap использовал, потом unwrap переписал на if let и while let
У меня были паники только из-за логических ошибок, которые требовали переписать код вокруг, но не требовали трогать анврап. Из того, что помню прям щас - взятие по ключу из хешмапы там, где этого ключа ещё нет (как оказалось если посмотреть на код и подумать головой). Там где я очень уверен в индексах, я вообще get_unchecked использую.
Обсуждают сегодня