| #![deny(implied_bounds_entailment)] |
| |
| trait Project { |
| type Ty; |
| } |
| impl Project for &'_ &'_ () { |
| type Ty = (); |
| } |
| trait Trait { |
| fn get<'s>(s: &'s str, _: ()) -> &'static str; |
| } |
| impl Trait for () { |
| fn get<'s>(s: &'s str, _: <&'static &'s () as Project>::Ty) -> &'static str { |
| //~^ ERROR impl method assumes more implied bounds than the corresponding trait method |
| //~| WARN this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! |
| s |
| } |
| } |
| fn main() { |
| let val = <() as Trait>::get(&String::from("blah blah blah"), ()); |
| println!("{}", val); |
| } |