Ответ 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 должна удовлетворять заданному неравенству.