1 error[E0277]: `*const Bar` cannot be shared between threads safely
2 --> $DIR/recursive-requirements.rs:16:12
4 LL | struct AssertSync<T: Sync>(PhantomData<T>);
5 | ---- required by this bound in `AssertSync`
7 LL | let _: AssertSync<Foo> = unimplemented!();
8 | ^^^^^^^^^^^^^^^ `*const Bar` cannot be shared between threads safely
10 = help: within `Foo`, the trait `Sync` is not implemented for `*const Bar`
11 note: required because it appears within the type `Foo`
12 --> $DIR/recursive-requirements.rs:5:12
17 error[E0277]: `*const Foo` cannot be shared between threads safely
18 --> $DIR/recursive-requirements.rs:16:12
20 LL | struct AssertSync<T: Sync>(PhantomData<T>);
21 | ---- required by this bound in `AssertSync`
23 LL | let _: AssertSync<Foo> = unimplemented!();
24 | ^^^^^^^^^^^^^^^ `*const Foo` cannot be shared between threads safely
26 = help: within `Foo`, the trait `Sync` is not implemented for `*const Foo`
27 note: required because it appears within the type `Bar`
28 --> $DIR/recursive-requirements.rs:10:12
32 = note: required because it appears within the type `PhantomData<Bar>`
33 note: required because it appears within the type `Foo`
34 --> $DIR/recursive-requirements.rs:5:12
39 error: aborting due to 2 previous errors
41 For more information about this error, try `rustc --explain E0277`.