Open peter-kehl opened 1 month ago
Thanks for bringing this up. We understand this. The *
shortcut is for quick-n-dirty usage.
Users who publish crates will find out soon enough that they must use concrete version numbers. The shortcut is useful because not everyone publishes to crates.io
if they work on a private project.
Personally I don't think it is a big deal, but you're welcome to provide a PR the puts in a caveat saying *
version numbers cannot be published.
https://rhai.rs/book/start/install.html#admonition-use-latest-release-version and https://rhai.rs/book/start/install.html#admonition-use-latest-development-version are unfortunate, at least. Neither works when publishing a (depending) crate to crates.io. The GIT-based-only way is easy to spot, but the
"*"
is less obvious/known. However, see https://doc.rust-lang.org/nightly/cargo/reference/specifying-dependencies.html#wildcard-requirements > "Note: crates.io does not allow bare * versions.".Even worse, top level
"*"
will lead to incompatible changes if (ever) there are higher major versions. And, it can currently lead to less-obvious incompatibilities (even worse, potentially in runtime, since it's scripting....) with any old crates referencing old"0.*.*"
versions - but those would not be mixed up if the user would specify"1.*"
or (less error-prone)"1.18.*"
.Please
"*"
with (more flexible, but more incompatibility-prone)"1.*"
and/or (more robust)"1.18.0"
(in which case add this file to a list of tasks to do when you release a minor version), andIf that sounds OK, I'm willing to provide a PR. Thank you (indeed) for Rhai.