about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlavio Percoco <flaper87@gmail.com>2015-03-08 22:32:57 -0430
committerFlavio Percoco <flaper87@gmail.com>2015-03-20 16:43:11 +0100
commit9ae144f05526ce8963af265d3b33f6c565c85e43 (patch)
treea4e976c44d5836e18f14d9d7a67bb5882986555f
parentcbc660bd1c200e672e91bfdbb83e57e6e057314c (diff)
downloadrust-9ae144f05526ce8963af265d3b33f6c565c85e43.tar.gz
rust-9ae144f05526ce8963af265d3b33f6c565c85e43.zip
Add default impls for Send/Sync
-rw-r--r--src/libcore/marker.rs4
-rw-r--r--src/librustc/middle/ty.rs5
2 files changed, 5 insertions, 4 deletions
diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs
index 1b866501b8e..e980858c443 100644
--- a/src/libcore/marker.rs
+++ b/src/libcore/marker.rs
@@ -39,6 +39,8 @@ pub unsafe trait Send : MarkerTrait {
     // empty.
 }
 
+impl Send for .. { }
+
 impl<T> !Send for *const T { }
 impl<T> !Send for *mut T { }
 impl !Send for Managed { }
@@ -203,6 +205,8 @@ pub unsafe trait Sync : MarkerTrait {
     // Empty
 }
 
+impl Sync for .. { }
+
 impl<T> !Sync for *const T { }
 impl<T> !Sync for *mut T { }
 impl !Sync for Managed { }
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs
index 99c35c6e542..c4fcf882cfb 100644
--- a/src/librustc/middle/ty.rs
+++ b/src/librustc/middle/ty.rs
@@ -5980,10 +5980,7 @@ pub fn item_variances(tcx: &ctxt, item_id: ast::DefId) -> Rc<ItemVariances> {
 
 pub fn trait_has_default_impl(tcx: &ctxt, trait_def_id: DefId) -> bool {
     populate_implementations_for_trait_if_necessary(tcx, trait_def_id);
-    match tcx.lang_items.to_builtin_kind(trait_def_id) {
-        Some(BoundSend) | Some(BoundSync) => true,
-        _ => tcx.traits_with_default_impls.borrow().contains_key(&trait_def_id),
-    }
+    tcx.traits_with_default_impls.borrow().contains_key(&trait_def_id)
 }
 
 /// Records a trait-to-implementation mapping.