pub struct SchemaVersion(/* private fields */);Expand description
Validated schema version — the wire-format-sized sibling of the kernel’s
mnesis::Version.
Invariant: nonzero, fits in u32 (the wire format’s schema-version field).
The kernel’s Version is NonZeroU64 because aggregate streams can
in principle be unboundedly long; SchemaVersion is NonZeroU32
because the wire format chose that width. Same invariant, different
width — explicit total conversion to Version is provided for the
upcaster path.
Implementations§
Source§impl SchemaVersion
impl SchemaVersion
Sourcepub const fn new(value: NonZeroU32) -> Self
pub const fn new(value: NonZeroU32) -> Self
Construct from a NonZeroU32. Infallible.
Sourcepub fn from_u32(value: u32) -> Result<Self, ValueError>
pub fn from_u32(value: u32) -> Result<Self, ValueError>
Construct from a raw u32, validating the nonzero invariant.
§Errors
Returns ValueError::SchemaVersionZero if value == 0.
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 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SchemaVersion
Source§impl Debug for SchemaVersion
impl Debug for SchemaVersion
impl Eq for SchemaVersion
Source§impl From<SchemaVersion> for Version
impl From<SchemaVersion> for Version
Source§fn from(sv: SchemaVersion) -> Self
fn from(sv: SchemaVersion) -> Self
Widen to the kernel’s Version (NonZeroU64). Total — NonZeroU32
always fits in NonZeroU64.
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 (const: unstable) · 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
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 UnsafeUnpin for SchemaVersion
impl UnwindSafe for SchemaVersion
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.