1 error[E0277]: `T` cannot be shared between threads safely
2 --> $DIR/two-traits.rs:11:14
5 | ^^^^ `T` cannot be shared between threads safely
7 note: required by a bound in `Magic::X`
8 --> $DIR/two-traits.rs:8:13
11 | ^^^^^ required by this bound in `Magic::X`
12 help: consider further restricting this bound
14 LL | impl<T: Magic + std::marker::Sync> Magic for T {
17 error[E0275]: overflow evaluating the requirement `*mut (): Magic`
18 --> $DIR/two-traits.rs:20:5
20 LL | wizard::<*mut ()>();
23 note: required by a bound in `wizard`
24 --> $DIR/two-traits.rs:17:14
26 LL | fn wizard<T: Magic>() { check::<<T as Magic>::X>(); }
27 | ^^^^^ required by this bound in `wizard`
29 error: aborting due to 2 previous errors
31 Some errors have detailed explanations: E0275, E0277.
32 For more information about an error, try `rustc --explain E0275`.