LINUX.ORG.RU

История изменений

Исправление 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 {};
};

И простым гуглежом я нахожу релевантные заметки касательно данного интерфейса.