pub struct BaseVersion {
pub major: u64,
pub minor: u64,
}
Expand description
A two-component MAJOR.MINOR
version.
This version number is a subset of semver
. In particular, it consists of the MAJOR
and MINOR
components, and leaves out the PATCH
and additional labels for pre-release
and build metadata.
If you require a version number which also includes the PATCH
number,
please see the FullVersion
variant. For a semver
compliant parser, you should use
the semver
crate
instead.
Fields§
§major: u64
A major
version is incremented when backwards incompatible changes are made to a public
API.
When this number equals 0
, the version is considered an unstable initial development
version.
minor: u64
The minor
version is incremented when backwards compatibles changes are made to a public
API.
When the version number is considered an unstable initial development version, it may also be incremented for backwards incompatible changes.
Implementations§
Source§impl BaseVersion
impl BaseVersion
Sourcepub fn new(major: u64, minor: u64) -> Self
pub fn new(major: u64, minor: u64) -> Self
Instantiate a two component, version number with MAJOR
and MINOR
components.
See BaseVersion
for more.
Sourcepub fn parse(input: &str) -> Result<Self, ParserError>
pub fn parse(input: &str) -> Result<Self, ParserError>
Parse a two component, major.minor
version number from a given input.
Returns a ParserError
if it fails to parse.
Sourcepub fn to_full_version_lossy(self) -> FullVersion
pub fn to_full_version_lossy(self) -> FullVersion
Convert this base version to a full version.
This conversion is lossy because the patch
value is not known to this BaseVersion, and
will initialize as 0
.
Sourcepub fn map<U, F>(self, fun: F) -> Uwhere
F: FnOnce(Self) -> U,
pub fn map<U, F>(self, fun: F) -> Uwhere
F: FnOnce(Self) -> U,
Map a BaseVersion
to U
.
§Example
use version_number::BaseVersion;
// 🧑🔬
fn invert_version(v: BaseVersion) -> BaseVersion {
BaseVersion::new(v.minor, v.major)
}
let example = BaseVersion::new(1, 2);
assert_eq!(example.map(invert_version), BaseVersion::new(2, 1));
Trait Implementations§
Source§impl Clone for BaseVersion
impl Clone for BaseVersion
Source§fn clone(&self) -> BaseVersion
fn clone(&self) -> BaseVersion
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more