pub struct SchemaVersion {
pub major: u32,
pub minor: u32,
pub patch: u32,
}Expand description
Semantic version (major.minor.patch) with compatibility checking.
Two versions are compatible iff their major versions match (semver rule).
use franken_kernel::SchemaVersion;
let v1 = SchemaVersion::new(1, 2, 3);
let v1_compat = SchemaVersion::new(1, 5, 0);
let v2 = SchemaVersion::new(2, 0, 0);
assert!(v1.is_compatible(&v1_compat));
assert!(!v1.is_compatible(&v2));Fields§
§major: u32Major version — breaking changes.
minor: u32Minor version — backwards-compatible additions.
patch: u32Patch version — backwards-compatible fixes.
Implementations§
Trait Implementations§
Source§impl Clone for SchemaVersion
impl Clone for SchemaVersion
Source§fn clone(&self) -> SchemaVersion
fn clone(&self) -> SchemaVersion
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SchemaVersion
impl Debug for SchemaVersion
Source§impl<'de> Deserialize<'de> for SchemaVersion
impl<'de> Deserialize<'de> for SchemaVersion
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for SchemaVersion
impl Display for SchemaVersion
Source§impl FromStr for SchemaVersion
impl FromStr for SchemaVersion
Source§impl Hash for SchemaVersion
impl Hash for SchemaVersion
Source§impl Ord for SchemaVersion
impl Ord for SchemaVersion
Source§fn cmp(&self, other: &SchemaVersion) -> Ordering
fn cmp(&self, other: &SchemaVersion) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for SchemaVersion
impl PartialEq for SchemaVersion
Source§impl PartialOrd for SchemaVersion
impl PartialOrd for SchemaVersion
Source§impl Serialize for SchemaVersion
impl Serialize for SchemaVersion
impl Copy for SchemaVersion
impl Eq for SchemaVersion
impl StructuralPartialEq for SchemaVersion
Auto Trait Implementations§
impl Freeze for SchemaVersion
impl RefUnwindSafe for SchemaVersion
impl Send for SchemaVersion
impl Sync for SchemaVersion
impl Unpin for SchemaVersion
impl UnwindSafe for SchemaVersion
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more