Size: a a a

2020 March 06

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Если ты глубоко в ансейфе, то тебе может быть нужен трансмьют
разговор был про борровчекер
источник

AZ

Alex Zhukovsky in rust_offtopic
покажи пример как трансмут чинит проблему с борровчекером без УБ
источник

AZ

Alex Zhukovsky in rust_offtopic
я с ходу придумать не могу
источник

EG

Emmanuel Goldstein in rust_offtopic
Обманывать борроучекер трансмьютом это очень плохая идея и прямой путь к уб, да
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
покажи пример как трансмут чинит проблему с борровчекером без УБ
Ну я могу скинуть
Но ты скажешь что архитектура плохая а не трансмьют нужен
источник

(

( in rust_offtopic
Т-34 85
Если они тебе даются. А если нет, то и нефиг ипать себе моск
А чего бы они не давались? Это не рисование и не пение, обыкновенные инструменты, чтобы решать задачи бизнеса в наименее когнитивно сложном виде
источник

p

polunin.ai in rust_offtopic
polunin.ai
Ну я могу скинуть
Но ты скажешь что архитектура плохая а не трансмьют нужен
И будешь прав
источник

p

polunin.ai in rust_offtopic
Knorpel где
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
Ну я могу скинуть
Но ты скажешь что архитектура плохая а не трансмьют нужен
покажи
источник

Т8

Т-34 85 in rust_offtopic
Emmanuel Goldstein
Обманывать борроучекер трансмьютом это очень плохая идея и прямой путь к уб, да
Неужели никто никогда так не делал? И не будет делать?
источник

EG

Emmanuel Goldstein in rust_offtopic
Т-34 85
Неужели никто никогда так не делал? И не будет делать?
Так не надо делать.
источник

EG

Emmanuel Goldstein in rust_offtopic
Во-первых, трансмьют из иммутабельной ссылки в мутабельную это мгновенное UB.
источник

EG

Emmanuel Goldstein in rust_offtopic
Во-вторых, если ты трансмьютишь с расширением лайфтайма, то ты получаешь UB в тот момент, когда дропнется оригинальный объект.
источник

Т8

Т-34 85 in rust_offtopic
(
А чего бы они не давались? Это не рисование и не пение, обыкновенные инструменты, чтобы решать задачи бизнеса в наименее когнитивно сложном виде
По тем же причинам, почему один умное говорит, а другого постоянно каша в голове
источник

Т8

Т-34 85 in rust_offtopic
Emmanuel Goldstein
Так не надо делать.
Я не говорю, что так надо. Перечитай сообщение
источник

EG

Emmanuel Goldstein in rust_offtopic
Много всякой фигни люди делают. Можно ещё сделать
unsafe { *(0 as *const u32) }
например
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Во-вторых, если ты трансмьютишь с расширением лайфтайма, то ты получаешь UB в тот момент, когда дропнется оригинальный объект.
Ну у меня там суть в том что оригинальный объект дропается одновременно с ссылкой
источник

(

( in rust_offtopic
Т-34 85
По тем же причинам, почему один умное говорит, а другого постоянно каша в голове
Это могут быть очень разнообразные причины, вплоть до того, что они совсем не связаны с разработкой. Даже похапешник может пару раз перечитать книжку Бартоша и всё понять, было бы желание
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
Ну у меня там суть в том что оригинальный объект дропается одновременно с ссылкой
Как минимум тебе надо убедиться, что ссылка дропнется строго раньше оригинального объекта.
источник

EG

Emmanuel Goldstein in rust_offtopic
Само существование некорректной ссылки — UB.
источник