Импорт пакета ржавчины с псевдонимом в toml

Я пытаюсь сделать простую программу, проверяющую время выполнения в двух разных ветвях одного и того же проекта ржавчины.

Я хотел, чтобы мой .toml выглядел примерно так

[dependencies]
cron_original = { git = "https://github.com/zslayton/cron" }
cron_fork = { git = "https://github.com/koenichiwa/cron", branch = "feature/reimplement-queries"}

И моя программа выглядит примерно так:

fn main() {
    let expression = String::from("0-59 * 0-23 ?/2 1,2-4 ? *");
    let schedule_orig = cron_original::Schedule::from_str(expression);
    let schedule_fork = cron_fork::Schedule::from_str(expression);
    // Check difference in execution times on these structs
}

но я получаю no matching package named 'cron_fork' found. Есть ли способ импортировать пакет с определенным псевдонимом? Я думал о создании чего-то, что автоматизировало бы подобные проверки.


person Typhaon    schedule 20.02.2021    source источник


Ответы (1)


Вам нужно указать ключи package для этих зависимостей, чтобы Cargo знал, что вам действительно нужны эти пакеты, даже если вы укажете другое имя:

[dependencies]
cron_original = { git = "https://github.com/zslayton/cron", package="cron" }
cron_fork = { git = "https://github.com/koenichiwa/cron", branch = "feature/reimplement-queries", package="cron" }

См. раздел Переименование зависимостей в Cargo.toml в Указание зависимостей для получения подробной информации.

person HHK    schedule 20.02.2021