Синтаксис версии зависимости от груза

Есть ли страница, документирующая синтаксис Cargo для зависимостей? До сих пор я видел три...

[dependencies]
crate = "1.0.0"  # I think this is an exact version match
crate = "^1.0.0" # I think this means "use that latest 1.x.x"
crate = "*"      # I think this means "use the latest"

Мне бы очень хотелось знать, как использовать список зависимостей. Спасибо!

Ответы

Ответ 1

См. страницу документации crates.io в разделе "Указание зависимостей" . Подводя итог:

  • Ничто или каретка (^) означает "по крайней мере эту версию, до следующей несовместимой версии".

  • Тильда (~) означает "по крайней мере, эту версию, до (но исключая) следующий малый/основной выпуск". То есть ~1.2.3 примет 1.2.X, где X будет не менее 3, ~1.2 примет 1.2.*, а ~1 примет 1.*.*.

  • Подстановочный знак (*) означает "все, что выглядит так". То есть 1.2.* примет 1.2.anything (1.2.0, 1.2.7-beta, 1.2.93-dev.foo и т.д., Но не 1.3.0).

  • Неравенства (>=, >, <, =) означают очевидное: версия Cargo должна удовлетворять заданному неравенству.