Size: a a a

2020 April 28

e

egoarka in rust_offtopic
Alex Zhukovsky
ну чет такое
?
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Бля, я понял Pin
источник

AZ

Alex Zhukovsky in rust_offtopic
суперсет как раз и означает что all JavaScript is valid TypeScript
источник

r

red75prime in rust_offtopic
Emmanuel Goldstein
И зачем вообще весь этот гемор с «Pin не работает на Unpin-типах», если можно, типа, просто не заворачивать Unpin-типы в Pin
Pin вообще не "работает". Это маркер: "Компилятор (Unpin)/я (!Unpin) сделал всё красиво "
источник

e

egoarka in rust_offtopic
Alex Zhukovsky
суперсет как раз и означает что all JavaScript is valid TypeScript
а что тогда "чет такое"?)
источник

AZ

Alex Zhukovsky in rust_offtopic
egoarka
а что тогда "чет такое"?)
мне дали такой ответ, но по-моему он ничего не объясняет
источник

EG

Emmanuel Goldstein in rust_offtopic
red75prime
Pin вообще не "работает". Это маркер: "Компилятор (Unpin)/я (!Unpin) сделал всё красиво "
Pin не даёт двигать значение по указателю, потому что не отдаёт на него &mut без ансейфа
источник

EG

Emmanuel Goldstein in rust_offtopic
Как я понял
источник

EG

Emmanuel Goldstein in rust_offtopic
Хотя тогда непонятно, причём тут Unpin
источник

EG

Emmanuel Goldstein in rust_offtopic
Окей, редактирую своё сообщение
источник

EG

Emmanuel Goldstein in rust_offtopic
Я понял, как использовать Pin
источник

EG

Emmanuel Goldstein in rust_offtopic
Если у кого-то есть мануал чтобы понять Pin, прошу поделиться
источник

r

red75prime in rust_offtopic
Emmanuel Goldstein
Pin не даёт двигать значение по указателю, потому что не отдаёт на него &mut без ансейфа
Это пока он существует. Но !Unpin значение не должно двигаться больше никогда. А это уже ручками.
источник

EG

Emmanuel Goldstein in rust_offtopic
То есть если у меня был Pin<&mut T>, а потом я из него вытащил &mut T обратно, то я всё ещё не имею право двигать T?
источник

EG

Emmanuel Goldstein in rust_offtopic
Звучит в целом логично, наверное
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
То есть если у меня был Pin<&mut T>, а потом я из него вытащил &mut T обратно, то я всё ещё не имею право двигать T?
ты не имеешь право двигать &mut T
источник

r

red75prime in rust_offtopic
Emmanuel Goldstein
То есть если у меня был Pin<&mut T>, а потом я из него вытащил &mut T обратно, то я всё ещё не имею право двигать T?
Ага. Поэтому есть pin_mut!, который забирает T
источник

EG

Emmanuel Goldstein in rust_offtopic
red75prime
Ага. Поэтому есть pin_mut!, который забирает T
Куда забирает?
источник

r

red75prime in rust_offtopic
Emmanuel Goldstein
Куда забирает?
Скрывает переменную в которой хранится T
источник

EG

Emmanuel Goldstein in rust_offtopic
А кто её дропать будет?
источник