Size: a a a

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

2020 November 16

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
Фишка в том что tmp объявлена во внешнем скоупе, поэтому время её жизни будет как минимум таким же как время жизни ссылки t.
Если бы вы попытались внутри match взять ссылку на результат format!(), то получили бы ошибку, т.к. этот результат сам по себе жил бы только до конца своего скоупа.
источник

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
Vasili Pascal
оки привел  to_string() и прошел дальше спасибо
Логичнее использовать .clone(), т.к. исходные данные у вас и так являются String. У метода to_string() немного другая семантика, хоть он и делает то же самое в случае типа String
источник

VP

Vasili Pascal in Rust — русскоговорящее сообществo
ок, мне казалось .clone() затратнее
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
Если хотите уменьшить число клонов и использовать ссылки, то можно вот так:
  let tmp: String;
 let host = "domain".to_string();
 let t = match host.starts_with("http:/") {
    true => &host,
    false => {
      tmp = format!("http://{}", host);
      &tmp
    }
 };
Можно ещё Cow использовать, тогда можно будет и во внешний скоуп передать результат (вернее, везде, где host валидный)
источник

AV

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

L

Lain-dono in Rust — русскоговорящее сообществo
Lain-dono
Вообще выглядит так, будто я могу это закостылять через typetag, но там толи ron не умеет толи чего. В итоге:

[
 {"A": (1, 2, 3)},
 {"B": ("abc")},
]


Вместо

[
 A(1, 2, 3),
 B("abc"),
]
Please make me mut
источник

f

folex in Rust — русскоговорящее сообществo
А есть какой-то способ публиковать бинарники как зависимости, и ссылаться на них в Cargo.toml?
источник

f

folex in Rust — русскоговорящее сообществo
Например у меня один Rust проект зависит от другого Rust проекта, но не напрямую, а чз .wasm

Проект A собирается в A.wasm
Проект Б использует A.wasm

Хотелось бы уметь публиковать версии A.wasm куда-то, и потом в Cargo.toml писать a-wasm = { ???, version = 0.1.2 }
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
А зачем одной либе интеропиться с другой через васм?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
folex
А есть какой-то способ публиковать бинарники как зависимости, и ссылаться на них в Cargo.toml?
Сделать фейк зависимость, и в build.rs зависимости сделать закачку бинарника из интернета?
источник

f

folex in Rust — русскоговорящее сообществo
Mikail Bagishov
А зачем одной либе интеропиться с другой через васм?
Проект Б – wasm runtime, проект A – то, что запускается в этом рантайме
источник

f

folex in Rust — русскоговорящее сообществo
polunin.ai
Сделать фейк зависимость, и в build.rs зависимости сделать закачку бинарника из интернета?
А фейк зависимость это как? Если я правильно понял, то идея – выкачивать и управлять версиями в build.rs. Но если всё в build.rs, зачем фейк зависимость?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
folex
А фейк зависимость это как? Если я правильно понял, то идея – выкачивать и управлять версиями в build.rs. Но если всё в build.rs, зачем фейк зависимость?
fake = "0.1.2"

fake/build.rs
// download binary
источник

f

folex in Rust — русскоговорящее сообществo
а, понял. Хорошая идея, спасибо!
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Кстати, странно, что в растовом FromStr никак не учитываются культуры и остальные особенности

В стд есть какой-нибудь трейт для этого?
источник

r

red75prime in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
Кстати, странно, что в растовом FromStr никак не учитываются культуры и остальные особенности

В стд есть какой-нибудь трейт для этого?
Нет такого трейта. Скорее всего посчитали локализацию/глобализацию слишком толстой для stdlib
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Вон в гну такое занесли и потом долго плевались
источник

ΑZ

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

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Ну я по сторонним крейтам собирал локализацию для своей тулзы
источник
2020 November 17

KR

Kai Ren in Rust — русскоговорящее сообществo
folex
а, понял. Хорошая идея, спасибо!
Посмотри ещё как в watt сделано. Там WASM-бинарь на ходу собирается и релизится на crates.io, либо в репу добавляется.
источник