Size: a a a

Rust — русскоговорящее сообщество

2021 June 29

П

Пух in Rust — русскоговорящее сообщество
он не переписывает вроде
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Тогда странно, что в релизе не хайпанули это дело в описании
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
макрос значит переписывает :)
источник

П

Пух in Rust — русскоговорящее сообщество
По крайней мере в рефе по place expr я не вижу ничего магического
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
пушто это не вызов функции foo(bar(x))
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Помню тока разрешение на поля инит packed получать
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
а дописывание с изменением семантики. Это как mut дописать
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
короч как я понимаю
&raw mut (*uninit.as_mut_ptr()).field)

это не то же самое что

let field = (*uninit.as_mut_ptr()).field;
&raw mut field
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Да, реально можно, промежуточная ссылка не создаётся и дерефа не происходит.
источник

П

Пух in Rust — русскоговорящее сообщество
и об этом надо догадываться)
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
можно не догадываться а бездумно скопипастить пример и не думать про это:)
источник

П

Пух in Rust — русскоговорящее сообщество
=)
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Об этом несложно догадаться. Кроме первого случая, поскольку о нём не упоминали, как о специальном.
источник

П

Пух in Rust — русскоговорящее сообщество
Да вот прям совсем хз
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
я думал вам интереснее покопаться в кишочках. А практичное применение - скопировать и забыть. Можно ещё за макрос спрятать типа set_field!(foo, x, 15) под ковёр и не вспоминать больше
источник

П

Пух in Rust — русскоговорящее сообщество
Мне причину прост знать на будущее, пригодится)
источник

П

Пух in Rust — русскоговорящее сообщество
как можно как нельзя почему не можно
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
прост)))))

А вообще причина простая: нужно сетить структуру по полям, а щас способа так сделать не отстрелив все ноги нет. Не было до недавного времени точнее. Закостылили для этого синтаксис как могли. Ну и получили странную хрень.

Впрочем, это в целом вектор раста
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
догнать и перегнать плюсцы
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Было волнение, что даже в обход создания ссылки нельзя поля структуры так задавать, раз не упоминали явно
источник