Для ffi с C++ лучше использовать cxx, потому что умеет конвертировать плюсовые исключения в растовый Result. В случае с bindgen, исключение, которые уходит в Раст, - уб. Он больше для связки с Си подходит
В Раст возникают сложности, когда пишешь код с ошибками (например, пытаешься шарить потоконебезопасную переменную между тредами). В си/++, действительно, в этом плане проще.
Писал на го, пишу на расте. Скажу, что на го писать - неприятно, многого не хватает в языке, писать на расте - сплошное удовольствие
Очень легко: write значение указателя на данные в программе на Раст в файл устройства (/dev), драйвер может что ему угодно по этому указателю сделать. Вот и уб без unsafe. С таким лично столкнулся, когда драйвер по указателю менял структуру в программе на расте объявленой как немутабельная (без mut), что в расте считается уб
Как же Rust хорош
Для ffi с C++ лучше использовать cxx, потому что умеет конвертировать плюсовые исключения в растовый Result. В случае с bindgen, исключение, которые уходит в Раст, - уб. Он больше для связки с Си подходит
Го страшен своей обработкой ошибок, занимающей больше места, чем основной код. Этого уже достаточно, чтобы сказать, что на расте код красивей
Стабилизировали еще в конце прошлого года
Не вопрос - https://crates.io/crates/windows
Нет, меня все устраивает: не пишу на плюсах )
А теперь представим систему без поддержки атомиков (да, такие существуют). С Раст понятно - Rc, а как на плюсах?
Разобраться в расте один раз и без боли читать/писать, получая удовольствие, того стоит
Почему нет, если годная технология и хочется популяризировать?
Например, что поломали?
В Раст возникают сложности, когда пишешь код с ошибками (например, пытаешься шарить потоконебезопасную переменную между тредами). В си/++, действительно, в этом плане проще.
Писал на го, пишу на расте. Скажу, что на го писать - неприятно, многого не хватает в языке, писать на расте - сплошное удовольствие
Очень легко: write значение указателя на данные в программе на Раст в файл устройства (/dev), драйвер может что ему угодно по этому указателю сделать. Вот и уб без unsafe. С таким лично столкнулся, когда драйвер по указателю менял структуру в программе на расте объявленой как немутабельная (без mut), что в расте считается уб