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`
7 LL | fn not_sync<T>(x: Guard<T>) {
8 | - help: consider restricting this bound: `T: std::marker::Sync`
10 | ^ `T` cannot be shared between threads safely
12 = help: the trait `std::marker::Sync` is not implemented for `T`
13 = note: required because of the requirements on the impl of `Zen` for `&T`
14 = note: required because it appears within the type `std::marker::PhantomData<&T>`
15 = note: required because it appears within the type `Guard<'_, T>`
17 error[E0277]: `T` cannot be shared between threads safely
18 --> $DIR/phantom-oibit.rs:26:12
20 LL | fn is_zen<T: Zen>(_: T) {}
21 | ------ --- required by this bound in `is_zen`
23 LL | fn nested_not_sync<T>(x: Nested<Guard<T>>) {
24 | - help: consider restricting this bound: `T: std::marker::Sync`
26 | ^ `T` cannot be shared between threads safely
28 = help: the trait `std::marker::Sync` is not implemented for `T`
29 = note: required because of the requirements on the impl of `Zen` for `&T`
30 = note: required because it appears within the type `std::marker::PhantomData<&T>`
31 = note: required because it appears within the type `Guard<'_, T>`
32 = note: required because it appears within the type `Nested<Guard<'_, T>>`
34 error: aborting due to 2 previous errors
36 For more information about this error, try `rustc --explain E0277`.