]> git.lizzy.rs Git - rust.git/commitdiff
Add default impls for Send/Sync
authorFlavio Percoco <flaper87@gmail.com>
Mon, 9 Mar 2015 03:02:57 +0000 (22:32 -0430)
committerFlavio Percoco <flaper87@gmail.com>
Fri, 20 Mar 2015 15:43:11 +0000 (16:43 +0100)
src/libcore/marker.rs
src/librustc/middle/ty.rs

index 1b866501b8ea1a3d0fb62d347f1af1af990ddabf..e980858c443bc8eeb7f20ec6c3fa65f5f245a1aa 100644 (file)
@@ -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 { }
index 99c35c6e5425824a20b3e8ba2144f5d885dd4aba..c4fcf882cfb03e68fd9929496a6baf8ec60a78e6 100644 (file)
@@ -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.