1 error[E0277]: `T` cannot be shared between threads safely
2 --> $DIR/phantom-oibit.rs:21:12
4 LL | fn is_zen<T: Zen>(_: T) {}
5 | --- required by this bound in `is_zen`
8 | ^ `T` cannot be shared between threads safely
10 = note: required because of the requirements on the impl of `Zen` for `&T`
11 = note: required because it appears within the type `PhantomData<&T>`
12 = note: required because it appears within the type `Guard<'_, T>`
13 help: consider restricting type parameter `T`
15 LL | fn not_sync<T: Sync>(x: Guard<T>) {
18 error[E0277]: `T` cannot be shared between threads safely
19 --> $DIR/phantom-oibit.rs:26:12
21 LL | fn is_zen<T: Zen>(_: T) {}
22 | --- required by this bound in `is_zen`
25 | ^ `T` cannot be shared between threads safely
27 = note: required because of the requirements on the impl of `Zen` for `&T`
28 = note: required because it appears within the type `PhantomData<&T>`
29 = note: required because it appears within the type `Guard<'_, T>`
30 = note: required because it appears within the type `Nested<Guard<'_, T>>`
31 help: consider restricting type parameter `T`
33 LL | fn nested_not_sync<T: Sync>(x: Nested<Guard<T>>) {
36 error: aborting due to 2 previous errors
38 For more information about this error, try `rustc --explain E0277`.