* make `Send` docs more prominent * add test
Unified · Split
| @@ -150,7 +150,9 @@ pub struct Reference<'r> { · 149 unmodified lines | ||
| 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 | 152 | /// |
| 153 | −/// Note: when built with `default-features = false`, this type is **not** `Send`. | |
| 153 | +/// ### `Send` only with `parallel` feature | |
| 154 | +/// | |
| 155 | +/// When built with `default-features = false`, this type is **not** `Send`. | |
| 154 | 156 | /// The minimal feature set to activate `Send` is `features = ["parallel"]`. |
| 155 | 157 | pub struct Repository { |
| 156 | 158 | /// A ref store with shared ownership (or the equivalent of it). |
| @@ -186,8 +188,10 @@ pub struct Repository { · 29 unmodified lines | ||
| 186 | 188 | /// |
| 187 | 189 | /// Note that it can also cheaply be cloned, and it will retain references to all contained resources. |
| 188 | 190 | /// |
| 189 | −/// Note: when built with `default-features = false`, this type is **not** `Send` or `Sync`. | |
| 190 | −/// The minimal feature set to activate `Send + Sync` is `features = ["parallel"]`. | |
| 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"]`. | |
| 191 | 195 | #[derive(Clone)] |
| 192 | 196 | pub struct ThreadSafeRepository { |
| 193 | 197 | /// A store for references to point at objects |
| @@ -138,3 +138,11 @@ fn thread_safe_repository_is_sync() -> crate::Result { · 137 unmodified lines | ||
| 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 | +} | |