#![feature(marker_trait_attr)] #[marker] trait A {} trait B {} impl B for T {} impl A for T {} impl A for &str {} //~^ ERROR type annotations needed: cannot satisfy `&str: A` impl A for (T,) {} trait TraitWithAssoc { type Assoc; } impl TraitWithAssoc for T { type Assoc = T; } impl TraitWithAssoc for ((&str,),) { //~^ ERROR conflicting implementations type Assoc = ((&'static str,),); } fn main() {}