error[E0277]: `T` cannot be shared between threads safely --> $DIR/two-traits.rs:11:5 | LL | type X: Trait; | ----- required by this bound in `Magic::X` ... LL | type X = Self; | ^^^^^^^^^^^^^^ `T` cannot be shared between threads safely | help: consider further restricting this bound | LL | impl Magic for T { | ^^^^^^ error[E0275]: overflow evaluating the requirement `*mut (): Magic` --> $DIR/two-traits.rs:20:5 | LL | fn wizard() { check::<::X>(); } | ----- required by this bound in `wizard` ... LL | wizard::<*mut ()>(); | ^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors Some errors have detailed explanations: E0275, E0277. For more information about an error, try `rustc --explain E0275`.