2022-12-16 19:30:32 +00:00
|
|
|
#![deny(implied_bounds_entailment)]
|
|
|
|
|
2022-12-11 21:16:43 +00:00
|
|
|
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);
|
|
|
|
}
|