Size: a a a

2020 January 09

Ct

Casual tears in rust_offtopic
А почему это
источник

AZ

Alex Zhukovsky in rust_offtopic
null это вообще не указатель
источник

AZ

Alex Zhukovsky in rust_offtopic
это значение биндинга
источник

AZ

Alex Zhukovsky in rust_offtopic
а биндинг всегда структура
источник

G

Gymmasssorla in rust_offtopic
А я уже от @p0lunin надеялся голосовое услышать
источник

Ct

Casual tears in rust_offtopic
Pavel
а раст и трекает, для всех  висячих указателей в расте не будет двойного освобождения и не будет выдачи этой памяти другим ресурсам. Ведь благодаря лайфтаймам, этих указателей не может быть больше 0.
раст то трекает, только это не GC
источник

P

Pavel in rust_offtopic
Casual tears
А почему это
потому, что у него семантика специальная, кстати, на x86-подобных архитектурах это вообще 0 и начало таблицы прерываний, это не куча, её нельзя освободить и его нельзя аллоцировать, но в неё можно писать и читать (если ты в нужном режиме проца)
источник

Ct

Casual tears in rust_offtopic
Alex Zhukovsky
null это вообще не указатель
Что-то Rust с тобой не согласен. Тип то у null *const (mut) T - указатель же.
источник

Ct

Casual tears in rust_offtopic
Еще
источник

Ct

Casual tears in rust_offtopic
0xabcdusize as *const u8 - вот вам висячий поинтер
источник

P

Pavel in rust_offtopic
тоесть это вполне себе well-known указатель, он не может быть висячим
источник

Ct

Casual tears in rust_offtopic
покажите где гц раста его поймает
источник

P

Pavel in rust_offtopic
Casual tears
покажите где гц раста его поймает
дерефни его
источник

Ct

Casual tears in rust_offtopic
Pavel
дерефни его
а зачем дерефать
источник

Ct

Casual tears in rust_offtopic
я его уже создал
источник

Ct

Casual tears in rust_offtopic
где моя ошибка компиляции
источник

Ct

Casual tears in rust_offtopic
в статике
источник

P

Pavel in rust_offtopic
Casual tears
где моя ошибка компиляции
ты его не создал, если ты его не дерефаешь, то его нет
источник

P

Pavel in rust_offtopic
есть что-то, что может считаться указателем, но если оно не используется как указатель, то с этим проблем нет
источник

Ct

Casual tears in rust_offtopic
Pavel
потому, что у него семантика специальная, кстати, на x86-подобных архитектурах это вообще 0 и начало таблицы прерываний, это не куча, её нельзя освободить и его нельзя аллоцировать, но в неё можно писать и читать (если ты в нужном режиме проца)
Кажется физический ноль и виртуальный ноль - две разные вещи. Еще на специфических окружениях null это вполне валидный указатель
источник