File tree 2 files changed +18
-0
lines changed
2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -149,6 +149,11 @@ pub struct Reference<'r> {
149
149
/// Note that it clones itself so that it is empty, requiring the user to configure each clone separately, specifically
150
150
/// and explicitly. This is to have the fastest-possible default configuration available by default, but allow
151
151
/// those who experiment with workloads to get speed boosts of 2x or more.
152
+ ///
153
+ /// ### `Send` only with `parallel` feature
154
+ ///
155
+ /// When built with `default-features = false`, this type is **not** `Send`.
156
+ /// The minimal feature set to activate `Send` is `features = ["parallel"]`.
152
157
pub struct Repository {
153
158
/// A ref store with shared ownership (or the equivalent of it).
154
159
pub refs : crate :: RefStore ,
@@ -182,6 +187,11 @@ pub struct Repository {
182
187
/// it's merely meant to be able to exist in a `Sync` context.
183
188
///
184
189
/// Note that it can also cheaply be cloned, and it will retain references to all contained resources.
190
+ ///
191
+ /// ### `Send` only with `parallel` feature
192
+ ///
193
+ /// When built with `default-features = false`, this type is **not** `Send`.
194
+ /// The minimal feature set to activate `Send` is `features = ["parallel"]`.
185
195
#[ derive( Clone ) ]
186
196
pub struct ThreadSafeRepository {
187
197
/// A store for references to point at objects
Original file line number Diff line number Diff line change @@ -138,3 +138,11 @@ fn thread_safe_repository_is_sync() -> crate::Result {
138
138
f ( crate :: util:: basic_repo ( ) ?. into_sync ( ) ) ;
139
139
Ok ( ( ) )
140
140
}
141
+
142
+ #[ test]
143
+ #[ cfg( feature = "parallel" ) ]
144
+ fn repository_is_send ( ) -> crate :: Result {
145
+ fn f < T : Send + Clone > ( _t : T ) { }
146
+ f ( crate :: util:: basic_repo ( ) ?) ;
147
+ Ok ( ( ) )
148
+ }
You can’t perform that action at this time.
0 commit comments