В общем по существу ответить нечего.Вывод спора простой. Большинство программистов на Rust ничего сложного написать не могут, даже попытаться. Кидают чужие имплементации.
И при этом рассказывают про безопасность. Обеспечить которую они не могут, да и даже не понимают как обеспечивать.
Вывод второй. Rust даст тебе какие-то дополнительные гарантии, ну допустим, но типичный Rust программист налажает в куче других мест. В логике, в синхронизации, и т.п.
Вывод третий. Крутой программист и на Rust напишет хороший корректный код. Правда он его же и на С++ напишет, и на Zig.
> Что должен? Должен проверить код.
Что можешь? А ничего ты не можешь, ты же не умеешь в раст. Мог бы скачать репу и прогнать тесты.
Тесты оно проходит
Тесты написанные самим автором? Ну ты насмешил:)) Обидно что я код могу написать, а ты...или твой коллега нет?)
Ты как определил что я не могу в Rust коде разобраться?))) Сам придумал и поверил?)
> А откуда ты это знаешь, если на твой код равняться не стоит? Вдруг ты что-то забыл?
volatile убери и будет всё Ок.
> Вот ты написал все в кучу внутри структуры PetersonMutex
Ясно. Когда совсем нечего ответить начинают придираться к запятым 😄 Там не всё в кучу. Там отдельная единая имплементация.
А твои "интерфейс" это конечно ужасный говнокод. Но ты этого не знаешь. На каждый класс, наверное, пишешь интерфейсы и фабрики синглионов фабрик классов?) Да вы батенька...кодер.
Вот когда появится несколько имплементации (если, когда-нибудь...а скорее всего никогда ) то я просто в compile time проверю все функции и их сигнатуры у структуры - что есть методы lock и unlock 🔓 в структуре и всё.
> Как поможет раст исправить ошибку...
Увиливаешь. Никто не мешает использовать volatile в Rust коде и совершить такую же ошибку.
Только я знаю что ошибки могут быть и поэтому полез гуглить про volatile. А типичный программист на Rust, свято веря в безопасность, и проверки компилятора естественно никуда лезть и читать не будет. Нет warning? Значит безопасно. Компилятор всё проверил.
В итоге мой код будет лучше, качественнее, надёжнее, безопаснее чем у Rust фанатиков.
> Черновик или нерабочий код?
Рабочий я оставлю чтобы троллить на следующих новостях про Rust. Мне не к спеху поправить.
Знал что никто даже и 20 строк кода сам написать не сможет. Оказался прав 😀 Выложили бы своё - тут же поправил бы.
В общем картина Rust программистов очень печальная и удручающая