diff options
| author | Ben S <ogham@bsago.me> | 2015-10-13 13:06:00 +0100 |
|---|---|---|
| committer | Ben S <ogham@bsago.me> | 2015-10-13 13:06:00 +0100 |
| commit | b40163beb925b176fdb570e4f4998ab9919e77a4 (patch) | |
| tree | 25aeeb2c0d76c73e2ec2d2fa17b8a3a8d1c43f41 /src/libstd/sys/windows | |
| parent | ec4362da562a4b591a7d120c6677e14ea713481a (diff) | |
| download | rust-b40163beb925b176fdb570e4f4998ab9919e77a4.tar.gz rust-b40163beb925b176fdb570e4f4998ab9919e77a4.zip | |
Make the Metadata struct Clone
This commit adds #[derive(Clone)] to std::fs::Metadata, making that struct cloneable. Although the exact contents of that struct differ between OSes, they all have it contain only value types, meaning that the data can be re-used without repercussions. It also adds #[derive(Clone)] to every type used by that struct across all OSes, including the various Unix `stat` structs and Windows's `WIN32_FILE_ATTRIBUTE_DATA`.
Diffstat (limited to 'src/libstd/sys/windows')
| -rw-r--r-- | src/libstd/sys/windows/c.rs | 1 | ||||
| -rw-r--r-- | src/libstd/sys/windows/fs.rs | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/libstd/sys/windows/c.rs b/src/libstd/sys/windows/c.rs index 30c7e5a52b7..bac5b47eb1a 100644 --- a/src/libstd/sys/windows/c.rs +++ b/src/libstd/sys/windows/c.rs @@ -182,6 +182,7 @@ pub struct CONSOLE_SCREEN_BUFFER_INFO { pub type PCONSOLE_SCREEN_BUFFER_INFO = *mut CONSOLE_SCREEN_BUFFER_INFO; #[repr(C)] +#[derive(Clone)] pub struct WIN32_FILE_ATTRIBUTE_DATA { pub dwFileAttributes: libc::DWORD, pub ftCreationTime: libc::FILETIME, diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs index 721e259823a..fb2456564eb 100644 --- a/src/libstd/sys/windows/fs.rs +++ b/src/libstd/sys/windows/fs.rs @@ -27,6 +27,7 @@ use vec::Vec; pub struct File { handle: Handle } +#[derive(Clone)] pub struct FileAttr { data: c::WIN32_FILE_ATTRIBUTE_DATA, reparse_tag: libc::DWORD, |
