Size: a a a

2020 May 14

AL

Arsenii Lyashenko in rust_offtopic
Mike Lubinets
В однопотоке это тоже может вызвать проблемы)
Ну да, указатель файла, например
источник

SP

Stanislav Popov in rust_offtopic
с трудом
источник

ML

Mike Lubinets in rust_offtopic
Arsenii Lyashenko
Ну да, указатель файла, например
Да нет, суть не в том
источник

SP

Stanislav Popov in rust_offtopic
не я читал там какуюто дичь про алиасинг в статье про cell
источник

SP

Stanislav Popov in rust_offtopic
ну кресты то могут!
источник

SP

Stanislav Popov in rust_offtopic
источник

ML

Mike Lubinets in rust_offtopic
Суть в том что мутируя объекты ты можешь в том числе переаллоцировать память. Из-за чего ссылки на старую память протухают, и становится возможным use-after-free.
Нет такого правила что «нельзя 2 мутирующих ссылки» есть правило «мутирующая ссылка могут существовать только эксклюзивно любых других»
источник

ML

Mike Lubinets in rust_offtopic
Stanislav Popov
ну кресты то могут!
В use-after-free они охуительно могут
источник

ML

Mike Lubinets in rust_offtopic
Там надо сознательно следить чтобы не допускать таких вещей, из-за чего порой проще память скопировать, чем переиспользовать
источник

SP

Stanislav Popov in rust_offtopic
перебаллотировать память это как?
источник

ML

Mike Lubinets in rust_offtopic
Stanislav Popov
перебаллотировать память это как?
Переаллоцировать *
источник

ML

Mike Lubinets in rust_offtopic
Ебаная Айось
источник

SP

Stanislav Popov in rust_offtopic
а. кажется я понял
источник

ML

Mike Lubinets in rust_offtopic
источник

ML

Mike Lubinets in rust_offtopic
Пример тут внизу страницы
источник

SP

Stanislav Popov in rust_offtopic
короче те ссылки которые я получу в другой футуре могут стать dangling если конкурентная футура переаллоцирует чтото
источник

SP

Stanislav Popov in rust_offtopic
а даже так
источник

SP

Stanislav Popov in rust_offtopic
крестовик бы сказал - ну так не переаллоцируй
источник

ML

Mike Lubinets in rust_offtopic
Stanislav Popov
короче те ссылки которые я получу в другой футуре могут стать dangling если конкурентная футура переаллоцирует чтото
В твоём конкретном примере скорее нет, но это общее правило. Плюс рефцелл это довольно примитивная штука
источник

ML

Mike Lubinets in rust_offtopic
Stanislav Popov
крестовик бы сказал - ну так не переаллоцируй
Если крестовик работает над проектом один и знает всю кодовую базу — я готов поверить, что у него таких ошибок будет мало
источник