From c5e0491e07a5f6829bfcf4af7ffaee1e6f4982aa Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Thu, 30 Sep 2021 18:46:14 -0500 Subject: [PATCH] Add send and sync traits for node and tree --- src/node.rs | 3 +++ src/node_vec.rs | 3 +++ src/tree.rs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/node.rs b/src/node.rs index 386f794..3a5b0a5 100644 --- a/src/node.rs +++ b/src/node.rs @@ -601,6 +601,9 @@ impl_debug_display_for_node!( Node, iter, data() ); impl_order_relations_for_node!( Node, iter, data() ); impl_hash_for_node!( Node, iter, data() ); +unsafe impl Send for Node {} +unsafe impl Sync for Node {} + #[cfg( miri )] mod miri_tests { #[test] fn has_no_child() { diff --git a/src/node_vec.rs b/src/node_vec.rs index 022e7a8..98af11c 100644 --- a/src/node_vec.rs +++ b/src/node_vec.rs @@ -184,3 +184,6 @@ impl Drop for NodeVec { unsafe{ self.buf.set_len( 0 ); } } } + +unsafe impl Send for NodeVec {} +unsafe impl Sync for NodeVec {} \ No newline at end of file diff --git a/src/tree.rs b/src/tree.rs index 41ddaec..c7765ca 100644 --- a/src/tree.rs +++ b/src/tree.rs @@ -252,6 +252,9 @@ impl_debug_display_for_collection!( Tree, root() ); impl_order_relations_for_collection!( Tree, root() ); impl_hash_for_collection!( Tree, root() ); +unsafe impl Send for Tree {} +unsafe impl Sync for Tree {} + #[cfg( test )] mod tests { use super::*;