fn foo<T>(x: T) where T: Debug %( ) fn foo<T>(x: T) where T: Debug %( ) impl<T> X for T where T: Debug %( ) impl<T> X for T where T: Debug %( ) struct X<T> where T: Debug %( ) struct X<T> where T: Debug %( ) enum X<T> where T: Debug %( ) enum X<T> where T: Debug %( ) union X<T> where T: Debug %( ) union X<T> where T: Debug %( )