pub struct Scratch { /* private fields */ }Expand description
A scratch path that goes away when this value does.
Dropping it removes the path, so a tool that fails part-way leaves nothing behind and no caller has to remember an error path.
let scratch = concinnity_host::scratch::Scratch::file("notes.txt");
std::fs::write(scratch.path(), b"working").unwrap();
let path = scratch.path().to_path_buf();
drop(scratch);
assert!(!path.exists());Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Scratch
impl RefUnwindSafe for Scratch
impl Send for Scratch
impl Sync for Scratch
impl Unpin for Scratch
impl UnsafeUnpin for Scratch
impl UnwindSafe for Scratch
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> 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> ⓘ
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