## RUST_2024_PRELUDE_COLLISIONS

# Static RUST_2024_PRELUDE_COLLISIONS

Source

    pub static RUST_2024_PRELUDE_COLLISIONS: &Lint

Expand description

The `rust_2024_prelude_collisions` lint detects the usage of trait methods which are ambiguous with traits added to the prelude in future editions.

#### §Example

ⓘ

    #![deny(rust_2024_prelude_collisions)]
    trait Meow {
        fn poll(&self) {}
    }
    impl<T> Meow for T {}

    fn main() {
        core::pin::pin!(async {}).poll();
        //                        ^^^^^^
        // This call to try_into matches both Future::poll and Meow::poll as
        // `Future` has been added to the Rust prelude in 2024 edition.
    }

{{produces}}

#### §Explanation

Rust 2024, introduces two new additions to the standard library’s prelude: `Future` and `IntoFuture`. This results in an ambiguity as to which method/function to call when an existing `poll`/`into_future` method is called via dot-call syntax or a `poll`/`into_future` associated function is called directly on a type.