@@ -234,14 +234,14 @@ standard library made a utility for itself called `Unique<T>` which:
234
234
235
235
Here’s a table of all the wonderful ways ` PhantomData ` could be used:
236
236
237
- | Phantom type | ` 'a ` | ` T ` |
238
- | -----------------------------| -----------| ---------------------------|
239
- | ` PhantomData<T> ` | - | covariant (with drop check) |
240
- | ` PhantomData<&'a T> ` | covariant | covariant |
241
- | ` PhantomData<&'a mut T> ` | covariant | invariant |
242
- | ` PhantomData<*const T> ` | - | covariant |
243
- | ` PhantomData<*mut T> ` | - | invariant |
244
- | ` PhantomData<fn(T)> ` | - | contravariant |
245
- | ` PhantomData<fn() -> T> ` | - | covariant |
246
- | ` PhantomData<fn(T) -> T> ` | - | invariant |
247
- | ` PhantomData<Cell<&'a ()>> ` | invariant | - |
237
+ | Phantom type | ` 'a ` | ` T ` | ` Send ` | ` Sync ` |
238
+ | -----------------------------| -----------| ----------------------------- | ----------- | ----------- |
239
+ | ` PhantomData<T> ` | - | covariant (with drop check) | ` T: Send ` | ` T: Sync ` |
240
+ | ` PhantomData<&'a T> ` | covariant | covariant | ` T: Sync ` | ` T: Sync ` |
241
+ | ` PhantomData<&'a mut T> ` | covariant | invariant | ` T: Send ` | ` T: Sync ` |
242
+ | ` PhantomData<*const T> ` | - | covariant | - | - |
243
+ | ` PhantomData<*mut T> ` | - | invariant | - | - |
244
+ | ` PhantomData<fn(T)> ` | - | contravariant | ` Send ` | ` Sync ` |
245
+ | ` PhantomData<fn() -> T> ` | - | covariant | ` Send ` | ` Sync ` |
246
+ | ` PhantomData<fn(T) -> T> ` | - | invariant | ` Send ` | ` Sync ` |
247
+ | ` PhantomData<Cell<&'a ()>> ` | invariant | - | ` Send ` | - |
0 commit comments