about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2015-02-25 10:29:32 +0530
committerManish Goregaokar <manishsmail@gmail.com>2015-02-25 10:29:32 +0530
commit7b7cf84975fa9da0a301028b28be8b255f2fcd6f (patch)
treee985761985f645eb793cb69950bacd9321265b0e /src/test
parentc950ee93c95d9cfe68ed431bdc45cea67a554757 (diff)
parent64fe93e49dc0c6a552c5f08507064f2ce12800ca (diff)
downloadrust-7b7cf84975fa9da0a301028b28be8b255f2fcd6f.tar.gz
rust-7b7cf84975fa9da0a301028b28be8b255f2fcd6f.zip
Rollup merge of #22596 - alexcrichton:fix-some-impls, r=huonw
 This commit removes many unnecessary `unsafe impl` blocks as well as pushing the
needed implementations to the lowest level possible. I noticed that the bounds
for `RwLock` are a little off when reviewing #22574 and wanted to ensure that we
had our story straight on these implementations.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/std-sync-right-kind-impls.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/run-pass/std-sync-right-kind-impls.rs b/src/test/run-pass/std-sync-right-kind-impls.rs
new file mode 100644
index 00000000000..d2d72ed1661
--- /dev/null
+++ b/src/test/run-pass/std-sync-right-kind-impls.rs
@@ -0,0 +1,27 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::sync;
+
+fn assert_both<T: Sync + Send>() {}
+
+fn main() {
+    assert_both::<sync::StaticMutex>();
+    assert_both::<sync::StaticCondvar>();
+    assert_both::<sync::StaticRwLock>();
+    assert_both::<sync::Mutex<()>>();
+    assert_both::<sync::Condvar>();
+    assert_both::<sync::RwLock<()>>();
+    assert_both::<sync::Semaphore>();
+    assert_both::<sync::Barrier>();
+    assert_both::<sync::Arc<()>>();
+    assert_both::<sync::Weak<()>>();
+    assert_both::<sync::Once>();
+}