Size: a a a

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

2020 October 10

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Разве это не мувает только то, что мувает кложура + аргументы кложуры?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Andrey Vlasov
Разве это не мувает только то, что мувает кложура + аргументы кложуры?
Оно про кложуру вообще ничего не знает. Мувает всё что внутри используется
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
polunin.ai
убрал move, какие-то беды с лайфтаймами.
repl 'static требует 🙃
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
вафель 🧇
Оно про кложуру вообще ничего не знает. Мувает всё что внутри используется
Ну так оно мувает из внешнего скоупа
источник

p

polunin.ai in Rust — русскоговорящее сообществo
вафель 🧇
repl 'static требует 🙃
у меня все статик...
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
polunin.ai
у меня все статик...
У тебя ссылка на локалку, какой статик?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
вафель 🧇
У тебя ссылка на локалку, какой статик?
хм, понял. оборачивать в арки?
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Andrey Vlasov
Ну так оно мувает из внешнего скоупа
...а внешний скоуп формируется кложурой и ключевым словом move
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Andrey Vlasov
Ну так оно мувает из внешнего скоупа
Ну так смотри

async move { a; }
требует мув a,
|| async move { a; }
кложура смотрит что в ней используется. a используется по значению (футурой) => мувается в кложуру.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
о, да, обернул в арки, заработало.
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
вафель 🧇
Ну так смотри

async move { a; }
требует мув a,
|| async move { a; }
кложура смотрит что в ней используется. a используется по значению (футурой) => мувается в кложуру.
Да блин, это тупо, если это так работает
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Andrey Vlasov
Да блин, это тупо, если это так работает
Не тупо блин, у тебя без этого простой || drop(a) работать не будет
источник

p

polunin.ai in Rust — русскоговорящее сообществo
сделал так, зработало
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
вафель 🧇
Не тупо блин, у тебя без этого простой || drop(a) работать не будет
Ну так и хорошо, нужно писать move || drop(a)
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Andrey Vlasov
Ну так и хорошо, нужно писать move || drop(a)
тогда ты заимствовать ничего не можешь без боли
источник

p

polunin.ai in Rust — русскоговорящее сообществo
вафель 🧇
repl 'static требует 🙃
а мы пробовали убрать это требование или нет?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
polunin.ai
сделал так, зработало
let schema = Arc::clone(&schema);
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
polunin.ai
а мы пробовали убрать это требование или нет?
нет
источник

p

polunin.ai in Rust — русскоговорящее сообществo
заведу ишью
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
вафель 🧇
тогда ты заимствовать ничего не можешь без боли
Пишешь
{
   let a = &a;
   move || { a, b }
}

И вроде не больно
источник