Size: a a a

Конференция C++ Russia

2020 May 22

AV

Alexey Veselovsky in Конференция C++ Russia
Anton Bikineev
Я не знаток раста совсем, но слышал от друзей разговоры по этому поводу.

Насколько я понимаю, фундаментальная идея борров-чекера в том, что в один момент времени может быть только один владелец. Для графов объектов, где есть циклические ссылки, в rust приходится либо переходить на димнамический борроу-чекер (RefCell вроде), либо просто в unsafe, если перфоманс критичен. Т.е. даже простая структура данных, как двусвязный список или дерево с ссылками на родителей, реализуется в обход борроу-чекера.

В сложных системах со сложными графами циклические ссылки - неизбежность. Поэтому интересно, как mozilla решила это в servo. Я не знаток раста, поэтому, скорее всего, могу упускать что-либо.
у них там, где борроучекер не может быть использован (то есть нужно больше одной ссылки), просто используется refrence counting. По сути - тот же shared_ptr. Ну, по безопасней разве что. И в доке явным образом написано, что да - утечки памяти могут быть в случае циклических ссылок.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Утечки могут быть, а промаха мимо памяти - нет.
источник

AB

Anton Bikineev in Конференция C++ Russia
Alexey Veselovsky
у них там, где борроучекер не может быть использован (то есть нужно больше одной ссылки), просто используется refrence counting. По сути - тот же shared_ptr. Ну, по безопасней разве что. И в доке явным образом написано, что да - утечки памяти могут быть в случае циклических ссылок.
Насколько я слышал, Rc используется только для немутирующих объектов?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Anton Bikineev
Насколько я слышал, Rc используется только для немутирующих объектов?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
обертка в обертке для обертки 🙂
источник

AB

Anton Bikineev in Конференция C++ Russia
Да, насколько я понимаю, это и есть динамический борроу-чекер
источник

AV

Alexey Veselovsky in Конференция C++ Russia
в общем, я не уверен, что на таких задачах раст будет эффективен. утечки памяти всё равно будут.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
но от другого класса ошибок они защищены лучше, чем плюсы с GC по идее
источник

AZ

Alexander Zaitsev in Конференция C++ Russia
о, снова про Rust
источник

AV

Alexey Veselovsky in Конференция C++ Russia
мимо памяти сложнее промахнуться
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Alexander Zaitsev
о, снова про Rust
хром против FF!
источник

AV

Alexey Veselovsky in Конференция C++ Russia
GC vs ref counting + borrow checker!
источник

m

magras in Конференция C++ Russia
Ага, сложные графы зависимостей и возникающие как следствие Arc<Mutex<T>> / Rc<RefCell<T>> это моя главная проблема с растом. При этом в отличии от плюсов, язык подталкивает ими пользоваться. Это правильно с точки зрения безопасности, но меня сильно раздражает.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
magras
Ага, сложные графы зависимостей и возникающие как следствие Arc<Mutex<T>> / Rc<RefCell<T>> это моя главная проблема с растом. При этом в отличии от плюсов, язык подталкивает ими пользоваться. Это правильно с точки зрения безопасности, но меня сильно раздражает.
безопасней всего код вовсе не писать 🙂 и Rust к этому активно подталкивает
источник
2020 May 26

AV

Alexey Veselovsky in Конференция C++ Russia
гм. интересно. вот на с++ russia можно купить билет. а ПОДАРИТЬ билет можно? 🙂 то есть купить билет в подарок.
источник

SP

Sergey Platonov in Конференция C++ Russia
Alexey Veselovsky
гм. интересно. вот на с++ russia можно купить билет. а ПОДАРИТЬ билет можно? 🙂 то есть купить билет в подарок.
источник

RA

Ruslan Akhmetzyanov in Конференция C++ Russia
Alexey Veselovsky
гм. интересно. вот на с++ russia можно купить билет. а ПОДАРИТЬ билет можно? 🙂 то есть купить билет в подарок.
Ну вы можете как минимум купить его на e-mail человека, которому хотите подарить
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Ruslan Akhmetzyanov
Ну вы можете как минимум купить его на e-mail человека, которому хотите подарить
А там подтверждение не нужно почты?
источник

RA

Ruslan Akhmetzyanov in Конференция C++ Russia
Alexey Veselovsky
А там подтверждение не нужно почты?
[хороший вопрос. Я думаю на самом деле лучше спросить не у меня, а у @JUGruSupport
источник

SJ

Support JUG Ru Group in Конференция C++ Russia
Alexey Veselovsky
гм. интересно. вот на с++ russia можно купить билет. а ПОДАРИТЬ билет можно? 🙂 то есть купить билет в подарок.
это кастомизация, но мы так умеем)
технически все зависит только от того насколько сюрпризом должен быть такой подарок.
Если нужно подробности, то лучше сразу через @JUGConfSupport_bot и команду /support
источник