考虑
[dependencies]
文件的 Cargo.toml
部分中的条目,如下所示:
[dependencies]
thingy = "=1.2"
所以,这是一个比较要求,对于 SemVer 来说这是一个“等于”要求,但它在某种程度上“未指定”,因为它缺少补丁版本,所以它不完全正确 指定任何事情,尽管看起来确实如此。
到目前为止,根据我在文档中读到的内容,还没有明确的解释。假设,我可以看到它等同于以下任何一个:
thingy = "1.2.*"
或
thingy = "~1.2"
或者甚至
thingy = "=1.2.0"
在实践中,它看起来像
thingy = "~1.2"
一样工作,因为在我看到这样写的代码库的情况下,Cargo.lock
文件显示该项目正在使用1.2.1
。
Cargo.toml
中未指定的相等比较要求是否具有明确定义的语义?如果是,它们是什么以及它们记录在哪里?
我希望这里的目的是编写波浪号要求,并且我计划用波浪号要求替换这个不明确的条目,除非我忽略了一些微妙的(未记录的?)差异,这些差异赋予了此语法真正的含义。