pub struct Move<'a> { /* private fields */ }Expand description
Moves a file from the given path to the specified destination.
source and dest must be on the same filesystem.
If replace_using_temp is specified, the destination file will be
replaced using the given temporary path.
If the existing dest file is a currently running long running program,
replace_using_temp may run into errors cleaning up the temp dir.
If that’s the case for your use-case, consider not specifying a temp dir to use.
- Errors:
- Io - copying / renaming
Implementations§
Source§impl<'a> Move<'a>
impl<'a> Move<'a>
Sourcepub fn from_source(source: &'a Path) -> Move<'a>
pub fn from_source(source: &'a Path) -> Move<'a>
Specify source file
Sourcepub fn replace_using_temp(&mut self, temp: &'a Path) -> &mut Self
pub fn replace_using_temp(&mut self, temp: &'a Path) -> &mut Self
If specified and the destination file already exists, the “destination” file will be moved to the given temporary location before the “source” file is moved to the “destination” file.
In the event of an io error while renaming “source” to “destination”,
the temporary file will be moved back to “destination”.
The temp dir must be explicitly provided since rename operations require
files to live on the same filesystem.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Move<'a>
impl<'a> RefUnwindSafe for Move<'a>
impl<'a> Send for Move<'a>
impl<'a> Sync for Move<'a>
impl<'a> Unpin for Move<'a>
impl<'a> UnwindSafe for Move<'a>
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> ⓘ
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> ⓘ
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