diff options
| author | Paul Dicker <pitdicker@gmail.com> | 2016-01-20 08:41:20 +0100 |
|---|---|---|
| committer | Paul Dicker <pitdicker@gmail.com> | 2016-01-20 08:41:20 +0100 |
| commit | ae30294771e3c5c65a2d70be0e09b5bec2490c66 (patch) | |
| tree | af981f4e62d8583c17d772d245fa7050301577af /src/libstd | |
| parent | 9c569189c8b8b5d635b6704c489a8410c81570a0 (diff) | |
| download | rust-ae30294771e3c5c65a2d70be0e09b5bec2490c66.tar.gz rust-ae30294771e3c5c65a2d70be0e09b5bec2490c66.zip | |
Remove raw pointer from OpenOptions struct
Otherwise it is not Send and Sync anymore
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/fs.rs | 6 | ||||
| -rw-r--r-- | src/libstd/sys/windows/fs.rs | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs index 40c08b17680..414a0ebd11f 100644 --- a/src/libstd/fs.rs +++ b/src/libstd/fs.rs @@ -2265,6 +2265,12 @@ mod tests { } #[test] + fn _assert_send_sync() { + fn _assert_send_sync<T: Send + Sync>() {} + _assert_send_sync::<OpenOptions>(); + } + + #[test] fn binary_file() { let mut bytes = [0; 1024]; StdRng::new().unwrap().fill_bytes(&mut bytes); diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs index df0a7bda18d..60e3f7c22bd 100644 --- a/src/libstd/sys/windows/fs.rs +++ b/src/libstd/sys/windows/fs.rs @@ -69,7 +69,7 @@ pub struct OpenOptions { attributes: c::DWORD, share_mode: c::DWORD, security_qos_flags: c::DWORD, - security_attributes: c::LPSECURITY_ATTRIBUTES, + security_attributes: usize, // FIXME: should be a reference } #[derive(Clone, PartialEq, Eq, Debug)] @@ -170,7 +170,7 @@ impl OpenOptions { share_mode: c::FILE_SHARE_READ | c::FILE_SHARE_WRITE | c::FILE_SHARE_DELETE, attributes: 0, security_qos_flags: 0, - security_attributes: ptr::null_mut(), + security_attributes: 0, } } @@ -187,7 +187,7 @@ impl OpenOptions { pub fn attributes(&mut self, attrs: u32) { self.attributes = attrs; } pub fn security_qos_flags(&mut self, flags: u32) { self.security_qos_flags = flags; } pub fn security_attributes(&mut self, attrs: c::LPSECURITY_ATTRIBUTES) { - self.security_attributes = attrs; + self.security_attributes = attrs as usize; } fn get_access_mode(&self) -> io::Result<c::DWORD> { |
