Size: a a a

2020 February 28

AZ

Alex Zhukovsky in rust_offtopic
Andrey @ozkriff Lesnikov
в смысле, что ты передаеьш константную ссылку на объект, но вот внутри этого объекта может быть поле с ссылкой без конст и ты по ней переходишь уже с полными правами на изменение чего тебе надо
а, ну это да
источник

Т8

Т-34 85 in rust_offtopic
Pavel
смутируй readonly int a = 42;
источник

AK

Alexander Krivitskiy in rust_offtopic
Тут проблемы не столько в мутации, сколько в перемещении объекта в новый участок памяти и инвалидации существующих ссылок. В List можно держать указатели и добавлять элементы без проблем. Но как это в языке выразить - без понятия.
источник

AK

Alexander Krivitskiy in rust_offtopic
Alex Zhukovsky
я передал в конструктор какое-то значение, а по ссылке которая у меня осталась че-то там наменял
Ладно, сдаюсь
источник

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
И даже две мутабельные ссылки на одну переменную нужно грамотно менеджить
от того, что ты нацепишь const вроде не станет хуже. А так согласен, но я так и не понял, к чему эта претензия? С++ даёт возможность обезопаситься, а C# только ограниченно
источник

AK

Alexander Krivitskiy in rust_offtopic
Alex Zhukovsky
когда тебе отдают ридонли коллекцию, а потом она у тебя мутировать начинает, потому что кто-то держит ссылку на underlying list
Правда когда тебе дают рид онли коллекцию - это означает, что конкретно ты её мутировать не можешь. Только читать. А изменяться она может. Вроде в шарпах readonly как раз об этом. Могу ошибаться. Раз в жизни на них писал
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
от того, что ты нацепишь const вроде не станет хуже. А так согласен, но я так и не понял, к чему эта претензия? С++ даёт возможность обезопаситься, а C# только ограниченно
я не чувствую себя в С++ безопасно
источник

P

Pavel in rust_offtopic
начни отсюда https://ideone.com/UOpQQd
источник

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
в том что в расте это ошибка компиляции

[In reply to Alexander Krivitskiy]
"В однопотоке хоть из десяти мест мутируй - всё безопасно и предсказуемо."

https://t.me/rust_offtopic/179837
в Расте нельзя менять через указатель на мутабельную переменную мутабельную переменную?
источник

AZ

Alex Zhukovsky in rust_offtopic
емнип в дотнете через рефлекшн можно проигнорировать и поменять ридонлиполе
источник

AZ

Alex Zhukovsky in rust_offtopic
отсюда можно словить странное поведение потому что статикк ридонли жит может заинлайнить
источник

AZ

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

P

Pavel in rust_offtopic
Alex Zhukovsky
емнип в дотнете через рефлекшн можно проигнорировать и поменять ридонлиполе
в джаве недавно пофиксили, кстати
источник

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
я передал в конструктор какое-то значение, а по ссылке которая у меня осталась че-то там наменял
конструктор принял по ссылке или по значению?
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
в джаве недавно пофиксили, кстати
ну, я бы человека котоорый через рефлекшн мутирует приватные поля отправил бы в бессрочный отпуск, так что не знаю насколько это насущная проблема
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
конструктор принял по ссылке или по значению?
если там написано Foo(char* bytes) это по ссылке или по значению
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
ну, я бы человека котоорый через рефлекшн мутирует приватные поля отправил бы в бессрочный отпуск, так что не знаю насколько это насущная проблема
ну, иногда очень хочется сделать то, что никто не подумал сделать
источник

P

Pavel in rust_offtopic
например, реализовать нормальный PasswordField поверх TextField чтоб с opaque string и деструкцией данных
источник

P

Pavel in rust_offtopic
а там файнал какой-то у перента мешает
источник

AZ

Alex Zhukovsky in rust_offtopic
слава богу у меня такого пиздеца нет
источник