что значение внутри валидно, или это чисто локально в Intellij такое может происходить?
unwrap() создаст панику если ты пытаешься его вызвать на вариантах Some::None или Result::Err .
В общем, если у тебя unwrap запаниковал (и это точно unwrap), значит у тебя 100% значение невалидное было (: А то может там не unwrap паниковал вовсе, если ты так уверен за валидность значения?
Не в этом дело. У меня при одном и том же инпуте в каком-либо месте unwrap иногда вывывается панику, даже если по дебаггеру там всё ок
Не-а, как раз unwrap. Один из случаев был связан с захардкоженым BigDecimal, когда пытался просто округлить до сотых число. Т.е. вот прямо внезапно какой-либо кусок кода, где есть unwrap может стрельнуть, несмотря на проверки/логгирование ошибок ранее с этим значением
Ну не знаю, попробуй как советовали выше распечатать через dbg! (дебаг принтами наше всё!) Пока звучит так, как будто выше по коду был выполнен unsafe-блок с UB ))
да ну, не паникует анврап просто так
При чём, трабла с BigDecimal была довольно упоротой – в определённый момент начинает всегда кидать панику, пока не почищу target папку и не перезагружу полностью редактор
Операции с BigDecimal могут вызывать реаллокацию, т.к. там глубоко внутри Vec. Если вдруг заканчивается память, это может приводить к паникам. Очень маловероятный сценарий, но всё ещё возможный.
Обсуждают сегодня