Size: a a a

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

2020 November 02

MP

Mag Pie in Rust — русскоговорящее сообществo
∅ ч
Предположим у меня Arc<структура>, в которой если поле String. Нужно скопировать из нее значение.
Анонимный опрос
51%
x.clone
13%
x.to_owned
0%
&(x).into
4%
*&x
6%
unsafe String::from_raw_parts
26%
Другой вариант
Проголосовало: 53
А почему не сделать поле Cow?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Mag Pie
А почему не сделать поле Cow?
а зачем?
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
Денис Котляров
скопировать?

ууу.

интереснее заимствовать.


да и вариант to_string никто не отменял:) а его неть. (и он максимально прозрачен для Deref, сделает именно копирование и он существует отдельно для String(помоему сделает для String только to_owned или clone) и для всего того что можно Display)
забыл(
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
∅ ч
Предположим у меня Arc<структура>, в которой если поле String. Нужно скопировать из нее значение.
Анонимный опрос
51%
x.clone
13%
x.to_owned
0%
&(x).into
4%
*&x
6%
unsafe String::from_raw_parts
26%
Другой вариант
Проголосовало: 53
Поле имеет имя x?
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
да
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
∅ ч
да
Ну, тогда действительно struct_in_arc.x.clone()
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Да, неоднозначности не возникает
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Но ков тоже тема
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Кстати кутэшный ков по моему как растовый реализован, то есть довольно консервативно
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Поправьте если чо кто шарит
источник

MP

Mag Pie in Rust — русскоговорящее сообществo
вафель 🧇
а зачем?
Чтобы не делать лишних аллокаций, если копирование поля присходит часто.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Mag Pie
Чтобы не делать лишних аллокаций, если копирование поля присходит часто.
Но это внесёт лайфтаймы в код и при Cow::Owned всё равно будет дорогое клонирование строки.

Если часто нужно копировать то лучше уж Rc<str> или Arc юзать, имхо
источник

MP

Mag Pie in Rust — русскоговорящее сообществo
вафель 🧇
Но это внесёт лайфтаймы в код и при Cow::Owned всё равно будет дорогое клонирование строки.

Если часто нужно копировать то лучше уж Rc<str> или Arc юзать, имхо
Про лайфтаймы согласен
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Кстати покажи Вафель если не трудно как лайфтайм будет привнесен
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Я с растовой коровой а то не работал
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
Dollar Føølish
Кстати покажи Вафель если не трудно как лайфтайм будет привнесен
Он прям в сигнатуре виден https://doc.rust-lang.org/std/borrow/enum.Cow.html
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Dollar Føølish
Кстати покажи Вафель если не трудно как лайфтайм будет привнесен
Cow<'a, T> = &'a T | T::ToOwned
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
А, понятно ,спасибо
источник

YK

Yevhen Kazmin in Rust — русскоговорящее сообществo
Semen
Здравствуйте! Какой язык перспективней на будущее Rust или C++? Есть вероятность что C++ свернет на "правильную" дорожку и станет более адекватным. Я новичок, планирую начать изучать C++ или Rust.
Смотря в каком чате спросить)
источник

p

polunin.ai in Rust — русскоговорящее сообществo
А есть инфа где вообще Cow нужен?
источник