//@ check-pass //@ edition:2021 struct Dog; fn main() { impl PartialEq<()> for Dog { //~^ WARN non-local `impl` definition fn eq(&self, _: &()) -> bool { todo!() } } impl PartialEq<()> for &Dog { //~^ WARN non-local `impl` definition fn eq(&self, _: &()) -> bool { todo!() } } impl PartialEq for () { //~^ WARN non-local `impl` definition fn eq(&self, _: &Dog) -> bool { todo!() } } impl PartialEq<&Dog> for () { //~^ WARN non-local `impl` definition fn eq(&self, _: &&Dog) -> bool { todo!() } } impl PartialEq for &Dog { //~^ WARN non-local `impl` definition fn eq(&self, _: &Dog) -> bool { todo!() } } impl PartialEq<&Dog> for &Dog { //~^ WARN non-local `impl` definition fn eq(&self, _: &&Dog) -> bool { todo!() } } }