LINUX.ORG.RU
Ответ на: комментарий от tp_for_my_bunghole

Это используют в Python наверное не реже чем в Rust работают с std::alloc.

Ну то есть не используешь. А говоришь, что в питоне управление памятью.

Советую почитать ещё раз. Для чего нужен декремент reference count.

Ну что и требовалось доказать собсна. Ты не пишешь на питоне. Ибо самый частый кейс оператора del это не удаление переменной из области видимости, а удаление элемента из контейнера.

Для копирования в Rust метод clone

Вот и выросли студенты, которые пишут на ЯП не зная как он работает. Когда ты пишешь на расте foo(a, b) как по твоему это на процессоре работает? Содержимое переменных a и b волшебным образом переносится в стековую память функции? На уровне памяти переносов не существует.

Невозможно передать владение чем-то скопировав. Для компилятора это тоже указатель

Маны раста, я смотрю, ты тоже не читал. Все указатели там явно прописаны. &, *, Box, Rc и вот это все. Без этих атрибутов все передается по значению.

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Ну то есть не используешь. А говоришь, что в питоне управление памятью.

weakref является частью языка, используется для создания кэша объектов в памяти процесса, те что ещё существуют в памяти.

Ну что и требовалось доказать собсна. Ты не пишешь на питоне. Ибо самый частый кейс оператора del это не удаление переменной из области видимости, а удаление элемента из контейнера.

Если бы ты писал на python то знал бы что область видимости в Python это dict доступный в runtime.
Для локальных имён функции оптимизация в список.

В случае с Rust ты не видишь почти явные доступные компилятору оптимизации при наличии borrow checker. В синтаксисе выглядит как копирование, но компилятор легко это оптимизирует сохраняя семантику копирования.

tp_for_my_bunghole
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.