Size: a a a

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

2021 June 29

ΑZ

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

П

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

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
?
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
ну можешь спросить в дискорде. Я не то чтобы был уверен
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
???
источник

П

Пух in Rust — русскоговорящее сообщество
producing invalid value получается
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
я не понял к чему это было.

У меня было g(f(x)). я заменил это на
let fx = f(x)
g(fx)

ожидаю что работать будет также. А оно не так
источник

П

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

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Посмотри сравнение, мб, ты хоть поймёшь
источник

П

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

П

Пух in Rust — русскоговорящее сообщество
тогда магия, да. Дереф есть, но дерефа нет
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Господи. Представь теперь, что оно в функцию обёрнуто, возвращающую значение.
источник

П

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

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
В первом случае он вернёт ссылку на поле. Во втором на локальную переменную. С мусором в случае ансейфа.
источник

П

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

П

Пух in Rust — русскоговорящее сообщество
place expr не создает значений, просто указывает место, в котором что-то лежит?:/
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Весь вопрос изначально стоял, содержит ли addr_of(_mut) промежуточный мусор или компиляторные оптимизации, не дающие получать им поля анинит структуры
источник

TK

Traveller Kolsky in Rust — русскоговорящее сообщество
Вроде того.
(если б я ещё знал, чо такое place expression)
источник

П

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

П

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