История изменений
Исправление kvpfs_2, (текущая версия) :
До тестов дело не дошло, всё ограничилось дебатами с нейросетью. В общем если я всё правильно понял, то тот же Arc при виде утекшего экземляра куда-то будет разрешать только получать доступ через рантайм проверки.
Что же, если раст действительно позволяет просто пользоваться либами и не парить себе мозг по поводу «thread safe» там оно или нет, то для меня это первый значимый аргумент, а не всё это ваше ко-ко-ко про утечки.
С другой стороны - это актуально далеко не для всех либ, а лишь для сложных комбайнов со своим thread pool,ом и тп. Большинству либ контекст передаёт родительское приложение, и все эти вопросы просто неактуальны. А вот замороченность раста + рантайм проверки будут всегда (ведь речь про либы, а там статический анализатор бессилен).
Скорее хотел бы, чтобы плюсовые либы-комбаины со своими потоками, в своих интерфейсах явно писали:
struct Some_class {
namespace thread_safe {...};
// или так
namespace thread_safe_police_31 {};
};
И простым гуглежом я нахожу релевантные заметки касательно данного интерфейса.
PS: благодарю всех, кто отписался, было полезно
Исходная версия kvpfs_2, :
До тестов дело не дошло, всё ограничилось дебатами с нейросетью. В общем если я всё правильно понял, то тот же Arc при виде утекшего экземляра куда-то будет разрешать только получать доступ через рантайм проверки.
Что же, если раст действительно позволяет просто пользоваться либами и не парить себе мозг по поводу «thread safe» там оно или нет, то для меня это первый значимый аргумент, а не всё это ваше ко-ко-ко про утечки.
С другой стороны - это актуально далеко не для всех либ, а лишь для сложных комбайнов со своим thread pool,ом и тп. Большинству либ контекст передаёт родительское приложение, и все эти вопросы просто неактуальны. А вот замороченность раста + рантайм проверки будут всегда (ведь речь про либы, а там статический анализатор бессилен).
Скорее хотел бы, чтобы плюсовые либы-комбаины со своими потоками, в своих интерфейсах явно писали:
struct Some_class {
namespace thread_safe {...};
// или так
namespace thread_safe_police_31 {};
};
И простым гуглежом я нахожу релевантные заметки касательно данного интерфейса.