86e2b4559a
derive PartialEq and Eq for Atom and Atom related types
2025-11-23 05:18:30 +00:00
5be1e5c37a
derive Hash for Atom and similar types
2025-11-23 03:30:37 +00:00
f8149b43d4
rearrange modules
2025-11-23 02:49:53 +00:00
e9603ce62f
represent 4th variant of slots, and disallow empty primary slot names
2025-11-22 01:03:14 +00:00
fb69d82e6f
build-id must not start with zero
2025-11-21 04:33:55 +00:00
3bce987993
format version build-id
2025-11-20 23:50:47 +00:00
0d40608404
compare versions as strings rather than parsing them to ints
...
Parsing version numbers to u64s could cause an panic on int overflow
with very large versions.
2025-11-19 05:04:40 +00:00
16fdd27e9a
compare letters before suffixes, and having a letter is greater than none
2025-11-19 01:17:18 +00:00
c75a38f615
allow slot to be only :* := :slot/sub= or :slot
2025-11-18 04:15:53 +00:00
2dc5df6112
support portage build-id extension
2025-11-18 03:21:44 +00:00
78398b7ebe
support ::repo syntax
2025-11-18 01:44:45 +00:00
db02762ee1
version wildcard comes after the version expression
2025-11-18 01:27:29 +00:00
0436fbc770
fix clippy lints
2025-11-15 01:55:19 +00:00
dfaad015b9
impl conversion methods for Atom and Cp
2025-11-15 00:10:55 +00:00
9c7d38f82c
having more components, even if zeros, make an atom greater
2025-11-14 23:16:25 +00:00
5a793bebe8
check if a OR b has leading zeros, and if so, strip and do ascii cmp
2025-11-14 23:15:01 +00:00
07d1823f0f
compare version letter in version cmp algo
2025-11-14 23:13:19 +00:00
29af7572a0
remove leftover dbgs!
2025-11-14 22:27:58 +00:00
36bdbbd8bc
allow Cpv type to have a slot
2025-11-13 19:57:28 +00:00
0448a52926
impl Cp type
2025-11-13 19:49:22 +00:00
1882ce3137
impl Cpv type
2025-11-13 18:03:34 +00:00
f4a45717d2
impl version comparison algorithm
2025-11-13 18:00:15 +00:00
b147d967d4
put version and version operator in the same Option in the Atom struct
...
All atoms must either have a version with a version operator, or have
no version and no version operator. Putting these in the same Option
helps encode that into the type system.
2025-11-08 22:13:14 +00:00
b54616a6dd
impl Parseable trait
2025-10-28 09:47:41 +00:00
ee1d15f983
use deref getters where needed
2025-10-27 22:09:30 -04:00
990aa475ab
fix lints
2025-10-26 01:52:50 -04:00
4d69986e18
impl fmt::Display for Atom
2025-10-26 01:23:45 -04:00
680ead0504
support "=" version operator
2025-10-25 01:19:35 -04:00
d75266f967
support atoms with empty slot
2025-10-24 21:32:41 -04:00
2e7d8cfbb9
impl atom parsing
2025-10-23 21:19:47 -04:00