pub enum MigrationPolicy {
NoOp,
AppendOnly,
RequiresMigration,
Incompatible,
}Expand description
Migration policy for a version transition.
Variants§
NoOp
No changes – manifests are identical.
AppendOnly
Append-only: new fields added at end. Existing data valid as-is. Just update header (version + layout_id). No data movement needed.
RequiresMigration
Migration required: field types/sizes changed, or fields removed. Must allocate new account, copy compatible prefix, zero-init new region.
Incompatible
Incompatible: different discriminators or fundamental layout mismatch.
Trait Implementations§
Source§impl Clone for MigrationPolicy
impl Clone for MigrationPolicy
Source§fn clone(&self) -> MigrationPolicy
fn clone(&self) -> MigrationPolicy
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 moreSource§impl Debug for MigrationPolicy
impl Debug for MigrationPolicy
Source§impl Display for MigrationPolicy
impl Display for MigrationPolicy
Source§impl PartialEq for MigrationPolicy
impl PartialEq for MigrationPolicy
Source§fn eq(&self, other: &MigrationPolicy) -> bool
fn eq(&self, other: &MigrationPolicy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for MigrationPolicy
impl Eq for MigrationPolicy
impl StructuralPartialEq for MigrationPolicy
Auto Trait Implementations§
impl Freeze for MigrationPolicy
impl RefUnwindSafe for MigrationPolicy
impl Send for MigrationPolicy
impl Sync for MigrationPolicy
impl Unpin for MigrationPolicy
impl UnsafeUnpin for MigrationPolicy
impl UnwindSafe for MigrationPolicy
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