diff options
| author | Corey Farwell <coreyf@rwell.org> | 2016-08-06 14:42:22 -0400 |
|---|---|---|
| committer | Corey Farwell <coreyf@rwell.org> | 2016-08-07 09:06:19 -0400 |
| commit | 28218bed8f21cf525b8b03712874f64379e1bf21 (patch) | |
| tree | fe4bc288b551035620b25a96fed1cfc5eafa6f91 /src/libstd/sys/unix/os.rs | |
| parent | 444ff9fbfb1f2a8e6645f67684f8a9ad99b343d3 (diff) | |
| download | rust-28218bed8f21cf525b8b03712874f64379e1bf21.tar.gz rust-28218bed8f21cf525b8b03712874f64379e1bf21.zip | |
Utilize `PhantomData` to enforce `!Sync` and `!Send` field.
Diffstat (limited to 'src/libstd/sys/unix/os.rs')
| -rw-r--r-- | src/libstd/sys/unix/os.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libstd/sys/unix/os.rs b/src/libstd/sys/unix/os.rs index 4c3558f91f5..6b8dfa5cc9e 100644 --- a/src/libstd/sys/unix/os.rs +++ b/src/libstd/sys/unix/os.rs @@ -21,6 +21,7 @@ use fmt; use io; use iter; use libc::{self, c_int, c_char, c_void}; +use marker::PhantomData; use mem; use memchr; use path::{self, PathBuf}; @@ -304,7 +305,7 @@ pub fn current_exe() -> io::Result<PathBuf> { pub struct Args { iter: vec::IntoIter<OsString>, - _dont_send_or_sync_me: *mut (), + _dont_send_or_sync_me: PhantomData<*mut ()>, } impl Iterator for Args { @@ -342,7 +343,7 @@ pub fn args() -> Args { }; Args { iter: vec.into_iter(), - _dont_send_or_sync_me: ptr::null_mut(), + _dont_send_or_sync_me: PhantomData, } } @@ -399,7 +400,7 @@ pub fn args() -> Args { } } - Args { iter: res.into_iter(), _dont_send_or_sync_me: ptr::null_mut() } + Args { iter: res.into_iter(), _dont_send_or_sync_me: PhantomData } } #[cfg(any(target_os = "linux", @@ -418,12 +419,12 @@ pub fn args() -> Args { let v: Vec<OsString> = bytes.into_iter().map(|v| { OsStringExt::from_vec(v) }).collect(); - Args { iter: v.into_iter(), _dont_send_or_sync_me: ptr::null_mut() } + Args { iter: v.into_iter(), _dont_send_or_sync_me: PhantomData } } pub struct Env { iter: vec::IntoIter<(OsString, OsString)>, - _dont_send_or_sync_me: *mut (), + _dont_send_or_sync_me: PhantomData<*mut ()>, } impl Iterator for Env { @@ -464,7 +465,7 @@ pub fn env() -> Env { } let ret = Env { iter: result.into_iter(), - _dont_send_or_sync_me: ptr::null_mut(), + _dont_send_or_sync_me: PhantomData, }; ENV_LOCK.unlock(); return ret |
