You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix: ^0, ^0.0 and ~1 read unwritten version segments as zeros and bound the range far too tightly #864
gadget = "~0" fails the same way. ~1 against 1.0.0 and 1.1.0 selects 1.0.0, because 1.1.0 is outside its bound.
The caret branch picks the segment to bump from major(), minor() and patch(), which read an unwritten segment as 0, so ^0 falls through to bumping the patch. The tilde branch always bumps the minor, so ~1 becomes <1.1.
Expected
The grammar is documented as Cargo's (docs/05-dependencies.md: ^1.2.3 is caret, ~1.2.3 is tilde), and mcpp.xpkg_version already reads a partial caret this way (^0 gives <1). A segment that is not written is a wildcard:
Activity
fix: a partial caret or tilde requirement treats unwritten segments a…