Size: a a a

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

2020 August 31

t

this is not mrklf in Rust — русскоговорящее сообществo
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Khachatur Harutyunyan
А есть такая cargo утилита, которая сканирует файл Cargo.toml и предлагает минимизировать количество используемых косвенных библиотек ? Например в Cargo.toml у меня есть библиотеки
a = “1.0.0”, которая зависима от библиотеки c = “1.2.0”
b = “1.0.0”, зависима от c = 1.2.1”

итоге может предложить апгрейдить а, или даунгрейдить b, или оба , чтоб в итоге они зависели от одной и той же библиотеки c = “x.y.z”

почему возник вопрос: в проект использует порядка 50 библиотек, которые суммарно в свою очередь используют около 400 библиотек, где есть 4 версии tokio
0.2.19
0.2.20
0.2.21
0.2.22

ну и других библиотек от 2 до 4 версий.

Спасибо.
Карго будет использовать одну и ту же версию токио, а именно 0.2.22
Несколько версий библиотеки будет собираться только, если требования к ним несовместимы.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Например если одна требует tokio = 0.1, а другая tokio = 0.2
источник
2020 September 01

KH

Khachatur Harutyunya... in Rust — русскоговорящее сообществo
спасибо
источник

KH

Khachatur Harutyunya... in Rust — русскоговорящее сообществo
Mikail Bagishov
Карго будет использовать одну и ту же версию токио, а именно 0.2.22
Несколько версий библиотеки будет собираться только, если требования к ним несовместимы.
даже если библиотека а явно использует 0.2.21 , то все равно будет компилиться вместо него 0.2.22 ?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Khachatur Harutyunyan
даже если библиотека а явно использует 0.2.21 , то все равно будет компилиться вместо него 0.2.22 ?
Следует различать
tokio = "0.2.21"
и
tokio = "=0.2.21"
Первое читается как "не старше чем, и совместимая с"
Второе как "в точности".
источник

MB

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

KH

Khachatur Harutyunya... in Rust — русскоговорящее сообществo
Mikail Bagishov
Следует различать
tokio = "0.2.21"
и
tokio = "=0.2.21"
Первое читается как "не старше чем, и совместимая с"
Второе как "в точности".
у нас версии заданы строго tokio = "0.2.21"
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Khachatur Harutyunyan
у нас версии заданы строго tokio = "0.2.21"
Это как раз нестрого, раз второго знака равенства нет.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Ну и обычно ничего кроме дефолтного режима не нужно.
источник

KH

Khachatur Harutyunya... in Rust — русскоговорящее сообществo
Mikail Bagishov
Ну и обычно ничего кроме дефолтного режима не нужно.
да, внесли ясность, спасибо
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Khachatur Harutyunyan
у нас версии заданы строго tokio = "0.2.21"
При наличии в репе Cargo.lock этот вариант тоже вполне стабильный.
источник

is

ilya sheprut in Rust — русскоговорящее сообществo
Подскажите пожалуйста, как можно заставить компилироваться этот код с unsized структурами?

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=b495240d1ac8b8adea4b6e604e0c2b6c
источник

is

ilya sheprut in Rust — русскоговорящее сообществo
ilya sheprut
Подскажите пожалуйста, как можно заставить компилироваться этот код с unsized структурами?

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=b495240d1ac8b8adea4b6e604e0c2b6c
На это есть ишью: https://github.com/rust-lang/rust/issues/18806

Сработал unsafe { std::mem::transmute }, спасибо чатик-уточка

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4eee81c6a5c6a918a6e42b4680e4e335
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
#[repr(transparent)] на всякий случай на Position еще стоит навесить.
источник

is

ilya sheprut in Rust — русскоговорящее сообществo
Casual tears
#[repr(transparent)] на всякий случай на Position еще стоит навесить.
действительно, спасибо
источник

I

Ilya in Rust — русскоговорящее сообществo
Роман
Видно не судьба
Привет. Подскажите, пожалуйста, что означает синтаксис struct JsFunctionStruct(JsFunction);
Это наследование что-ли?
источник

Р

Роман in Rust — русскоговорящее сообществo
Это кортежная структура
источник

Р

Роман in Rust — русскоговорящее сообществo
Или именованный кортеж
источник

I

Ilya in Rust — русскоговорящее сообществo
Понял, спасибо
источник