Earlier quoted context omitted.
Hi. As I said in that page, I do know that cargo is working as designed, and that "0.4.1" is the same as "^0.4.1". My point is maybe a little more subtle, that cargo takes the newest allowed under the constraints, so given "^0.4.1", it has a choice between 0.4.1, 0.4.2, 0.4.3, 0.4.4, and 0.4.5, and it takes the last. When you're adding a new direct dependency, taking the latest is almost certainly right. But when you…
> I think taking the last is problematic: it seems much safer to me to take the one closest to what the author of that code tested with. If someone doesn't respect semantic versioning the difference of one minor or few minor versions is irrelevant. > For what it's worth, I think I do understand what cargo is doing, and why, and I completely respect that approach. I think understanding SemVer would help a long way.
hard coding v1 and v2 check, anyone who understands semvar would never make such mistake!