@@ -234,14 +234,14 @@ standard library made a utility for itself called `Unique<T>` which:
234234
235235Here’s a table of all the wonderful ways ` PhantomData ` could be used:
236236
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: Send ` | ` 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