-
-
Notifications
You must be signed in to change notification settings - Fork 372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more Version / Range capabilities #5310
base: main
Are you sure you want to change the base?
Conversation
lizmat
commented
Jul 7, 2023
- add support for ^v1.2.3 aka all versions upto/not including v1.2.3
- add smart-matching to allow v1.1 ~~ v1.0 .. v1.2 to work
- add support for ^v1.2.3 aka all versions upto/not including v1.2.3 - add smart-matching to allow v1.1 ~~ v1.0 .. v1.2 to work
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
I think the While raku versions aren't semver, users will often mistakeningly believe it to be the case. This is unfortunate because while it makes sense for e.g. Using
In other words: |
@thoughtstream ping |
This think this is useful to have, but versions and version ranges should be different classes because they're really different (and complementary) things. |
Agree. But the only thing I can see happening atm, is to make Version objects that are implicit ranges (aka, with a |
Except the relation is really more the other way around: Any version is also usable as a version range, but version ranges usually aren't usable as a version (e.g. they can't sort/compare, which is essentially the whole purpose of versions). They should be different classes, with a trivial VersionRange(Version) constructor/coercer |
Well, then we get to |
They're also awkward because then you'd need an infinite version value (for the maximum value). Or to represent exclusions. It needs a separate class really. |