Utility crate for fast SemVer like Versions and Version Requirenments. If you look for full SemVer experience and/or easy usage, please consider the excellent semver crate.
This implementation however doesn't require allocations, thus can be used in compile time evaluation. (support for embedded will follow)
```rust use fastversion::{Version, VersionReq, VersionReqVariant, constversion};
const VERSION: Version = const_version!("1.2.3");
asserteq!(VERSION.major, 1); asserteq!(VERSION.minor, 2); assert_eq!(VERSION.patch, 3);
const VERSIONREQMATCH: VersionReq = { let versionreqvariant = VersionReqVariant::Strict(VERSION); VersionReq::new(&versionreqvariant) };
assert!(VERSIONREQMATCH.matches(&VERSION));
const VERSIONREQUNMATCH: VersionReq = { let versionreqvariant = VersionReqVariant::MajorLessEqual { major: 0 }; VersionReq::new(&versionreqvariant) };
assert!(!VERSIONREQUNMATCH.matches(&VERSION)); ```
License: MIT