//@ revisions: e2021 e2024
//@[e2021] edition: 2021
//@[e2021] run-rustfix
//@[e2024] edition: 2024
//@[e2024] compile-flags: -Zunstable-options
//@[e2024] check-pass

#![deny(rust_2024_prelude_collisions)]
trait Meow {
    fn poll(&self) {}
}
impl<T> Meow for T {}
fn main() {
    // This is a deliberate false positive.
    // While `()` does not implement `Future` and can therefore not be ambiguous, we
    // do not check that in the lint, as that introduces additional complexities.
    // Just checking whether the self type is `Pin<&mut _>` is enough.
    Meow::poll(&core::pin::pin!(()));
    //[e2021]~^ ERROR trait method `poll` will become ambiguous in Rust 2024
    //[e2021]~| WARN this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
}
