1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//! # async-tempfile
//!
//! Provides the [`TempFile`] struct, an asynchronous wrapper based on `tokio::fs` for temporary
//! files that will be automatically deleted when the last reference to the struct is dropped.
//!
//! ```
//! use async_tempfile::TempFile;
//!
//! #[tokio::main]
//! async fn main() {
//! let parent = TempFile::new().await.unwrap();
//!
//! // The cloned reference will not delete the file when dropped.
//! {
//! let nested = parent.open_rw().await.unwrap();
//! assert_eq!(nested.file_path(), parent.file_path());
//! assert!(nested.file_path().is_file());
//! }
//!
//! // The file still exists; it will be deleted when `parent` is dropped.
//! assert!(parent.file_path().is_file());
//! }
//! ```
//!
//! ## Features
//!
//! * `uuid` - (Default) Enables random file name generation based on the [`uuid`](https://crates.io/crates/uuid) crate.
//! Provides the `new` and `new_in`, as well as the `new_with_uuid*` group of methods.
// Document crate features on docs.rs.
// Required for dropping the file.
pub use Error;
pub use RandomName;
use Debug;
pub use TempDir;
pub use TempFile;
/// Determines the ownership of a temporary file or directory.