Size: a a a

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

2020 September 17

Э

Эрик in Rust — русскоговорящее сообществo
Хотя обычно, вывод типов сам разыменовывает чего надо при взятии ссылки, если знает конечный тип.
источник

V

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

R

Roman in Rust — русскоговорящее сообществo
Если тебе нужна ссылка, а у тебя Box, то тебе надо делать &*
источник

R

Roman in Rust — русскоговорящее сообществo
То что это все по сути указатели не отменяет того, что тип разный
источник

Э

Эрик in Rust — русскоговорящее сообществo
Vyacheslav
просто адрес один у бокса и значения, может в случае более сложного типа в боксе и брать ссылку на конкретный элемент это имело бы смысл
Если у тебя функция вроде fn foo(& impl Trait) , то тут надо явно указывать тип, потому что генерики.
источник

Э

Эрик in Rust — русскоговорящее сообществo
И если у тебя i32 имплементит Trait, а Box<i32> — нет, то как раз надо разыменовывать при взятии ссылки, а не просто &w.value.
источник

R

Roman in Rust — русскоговорящее сообществo
Я стараюсь вообще почаще явно разыменовывать. А то оно может и скомпилится аже. А разыменует само не так
источник

R

Roman in Rust — русскоговорящее сообществo
Эрик
И если у тебя i32 имплементит Trait, а Box<i32> — нет, то как раз надо разыменовывать при взятии ссылки, а не просто &w.value.
Если оба имплементят - тем более надо явно разыменовать
источник

Э

Эрик in Rust — русскоговорящее сообществo
А вот если функция без генерика, по типу fn foo(&i32), тут кроме ссылки на i32 можно пихать ссылку на всё, что impl Deref<Target = i32>.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Roman
Я стараюсь вообще почаще явно разыменовывать. А то оно может и скомпилится аже. А разыменует само не так
Deref для типа можно только один заимплементить, не может оно разыменоваться не так.
источник

R

Roman in Rust — русскоговорящее сообществo
Эрик
Deref для типа можно только один заимплементить, не может оно разыменоваться не так.
Оно может недостаточно разыменоваться
источник

V

Vyacheslav in Rust — русскоговорящее сообществo
Эрик
А вот если функция без генерика, по типу fn foo(&i32), тут кроме ссылки на i32 можно пихать ссылку на всё, что impl Deref<Target = i32>.
спасибо, это интересная информацию, думаю еще дойду до этого
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
А можно как-то из кода получить (макросом?) текущую версию из Cargo.toml и/или текущий коммит (если в проекте есть так-же git репа)?
источник

A

Adv0cat in Rust — русскоговорящее сообществo
думаю если в макросе будет инициировано чтение этого файла, парсинг и взятие значения, то почему бы и нет)))
источник

A

Adv0cat in Rust — русскоговорящее сообществo
ну а гит там как-то можно думаю команду вызвать git show --oneline -s
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Вопрос не можно ли, а есть ли)
источник

A

Adv0cat in Rust — русскоговорящее сообществo
вафель 🧇
Вопрос не можно ли, а есть ли)
> А можно как-то из кода получить...
Увидел слово можно, ответил на можно))
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
вафель 🧇
А можно как-то из кода получить (макросом?) текущую версию из Cargo.toml и/или текущий коммит (если в проекте есть так-же git репа)?
https://lib.rs/crates/version

А почему deprecated написано...
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
пон
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
)))
источник