Борцы с unsafe забывают, что это всё чудесно работает до первого обращения вне приложения, то бишь в стороннее приложение/БД. Тот же PostgreSQL может вернуть валидную строку даты достаточно большим диапазоном видов, если не приводить тип на выдаче принудительно, ну и с числами там мемы, так как системы типов между Rust и этим диалектом SQL сильно расходятся, ибо SQL не знает такого типа как массив нативно, для неё это всё строка с разными правилами парсинга, а не разные структуры. То же самое касается условного ответа по API или чтения XML-шины.
Во всех этих ситуация, Rust вроде как по-дефолту просто упадет (давно не писал на нем и не помню это было поведение с коробки или это я чего настроил) при несоответствии типов, но это такой себе safe, о котором любят умалчивать и не вспоминать)
Все штуки на грани интерфейсного общения двух независимых высокоабстрактных юнитов не могут быть type-safe.
Так оно и есть. Слава богу, для 90% ситуаций хватает простых типов. Но когда делаешь комплексные штуки, приходится создавать комплексные типы, да еще и с условиями.
Фу Any. Пахнешь слабостью. Хорошо не на rust пишешь, а то борцы с unsafe обоссали бы
Борцы с unsafe забывают, что это всё чудесно работает до первого обращения вне приложения, то бишь в стороннее приложение/БД. Тот же PostgreSQL может вернуть валидную строку даты достаточно большим диапазоном видов, если не приводить тип на выдаче принудительно, ну и с числами там мемы, так как системы типов между Rust и этим диалектом SQL сильно расходятся, ибо SQL не знает такого типа как массив нативно, для неё это всё строка с разными правилами парсинга, а не разные структуры.
То же самое касается условного ответа по API или чтения XML-шины.
Во всех этих ситуация, Rust вроде как по-дефолту просто упадет (давно не писал на нем и не помню это было поведение с коробки или это я чего настроил) при несоответствии типов, но это такой себе safe, о котором любят умалчивать и не вспоминать)
Все штуки на грани интерфейсного общения двух независимых высокоабстрактных юнитов не могут быть type-safe.
Люблю незащищенный
Как же сложно жить пиздец
Пусть это Пётр делает. Не женское это дело
Ну это же сложные типы, конечно сложно
А вот простые типы конструировать должно быть просто
Так оно и есть. Слава богу, для 90% ситуаций хватает простых типов. Но когда делаешь комплексные штуки, приходится создавать комплексные типы, да еще и с условиями.
Зато потом будет просто их использовать