// Regression test for #29859, initial version. This example allowed // arbitrary trait bounds to be synthesized. // Trait that you want all types to implement. use std::marker::{Sync as Trait}; pub trait Magic { type X: Trait; } impl Magic for T { type X = Self; //~^ ERROR E0277 } fn check() {} fn wizard() { check::<::X>(); } fn main() { wizard::<*mut ()>(); //~ ERROR E0275 // check::<*mut ()>(); }