История изменений
Исправление Lrrr, (текущая версия) :
дело даже не в багах (некоторые из которых известны с релиза rust 1.0 и до сих пор не пофикшены), а в том что этот unsafe в принципе бесполезная фигня.
Во-первых это тупо метки, которые ставятся людьми - причем бездарными и произвольно. Например почему Vec::new
не unsafe, ведь это очевидно malloc под капотом, а malloc может вернуть NULL? А очень просто - потому что тогда весь их код с «прекрасной обработкой ошибок» станет еще более нечитаемой хренью, а про исключения они уже наврали, что их там нет (с). А на эту вашу безопасность растоманам по факту глубоко наплевать.
Во-вторых, с чем вообще в принципе может помочь этот unsafe? На вероятность падения программы в том или ином месте он не влияет. А дебажить код методом пристального взгляда будут только растоманы, переписавшие очередной хелловорлд. Хотя даже в этом случае unsafe затрудняет чтение кода, потому что это синтаксический мусор и лишние скоупы.
Исходная версия Lrrr, :
дело даже не в багах (некоторые из которых известны с релиза rust 1.0 и до сих пор не пофикшены), а в том что этот unsafe в принципе бесполезная фигня.
Во-первых это тупо метки, которые ставятся людьми - причем бездарными и произвольно. Например почему Vec::new
не unsafe, ведь это очевидно malloc под капотом, а malloc может вернуть NULL? А очень просто - потому что тогда весь их код с «прекрасной обработкой ошибок» станет еще более нечитаемой хренью, а про исключения они уже наврали, что их там нет (с). А на эту вашу безопасность растоманам по факту глубоко наплевать.
Во-вторых, с чем вообще в принципе может помочь этот unsafe? На вероятность падения программы в том или ином месте он не влияет? А дебажить код методом пристального взгляда будут только растоманы, переписавшие очередной хелловорлд. Хотя даже в этом случае unsafe затрудняет чтение кода, потому что это синтаксический мусор и лишние скоупы.