я думаю, только если у тебя есть безопасный способ получить такой же экземпляр
но UB я не получу просто вызвав bar()?
foo может подвергаться на то, что нельзя создать Foo из-за чего его создание повлечёт UB. Например считается валидным написать в дропе unreachable_unchecked (), если значение типа нельзя создать
конкретно unreachable_unchecked вряд-ли будут вызывать, но что-то подобное могут легко сделать
понятно то есть само по себе это не UB, но скорее всего я могу что-то другое этим сломать?
да. Точно также как создание Pin-а или не utf-8 строки не UB само по себе, но на это может полагаться unsafe код, поэтому сделав такое ты можешь наткнутся на UB в них и виновата будешь ты
создание не UTF-8 строки UB само по себе
нет, его downgrade'нули до library-ub
я вроде только недавно где-то читала, что нет 🤔
Обсуждают сегодня