pub enum CopyMode {
Auto,
Require,
Never,
}Expand description
Whether a copy may — or must — share blocks with its source rather than duplicating them.
The distinction is not observable in the byte content either way, which is why it needs asking for explicitly: a caller copying for deduplication has no other way to learn whether it got sharing or a full duplicate.
Variants§
Auto
Share blocks when the platform and both files allow it, and copy the data outright when they do not.
Require
Fail rather than copy the data outright.
Never
Copy the data outright even where sharing is available.
Trait Implementations§
impl Copy for CopyMode
Source§impl<'de> Deserialize<'de> for CopyMode
impl<'de> Deserialize<'de> for CopyMode
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
impl Eq for CopyMode
impl StructuralPartialEq for CopyMode
Auto Trait Implementations§
impl Freeze for CopyMode
impl RefUnwindSafe for CopyMode
impl Send for CopyMode
impl Sync for CopyMode
impl Unpin for CopyMode
impl UnsafeUnpin for CopyMode
impl UnwindSafe for CopyMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more