about summary refs log tree commit diff
path: root/tests/ui/rust-2024/box-slice-into-iter-ambiguous.rs
blob: e78f550d226f2c85129ed217935368c1ff254d74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// See https://github.com/rust-lang/rust/issues/88475
//@ run-rustfix
//@ edition:2021
//@ check-pass
#![warn(boxed_slice_into_iter)]
#![allow(unused)]

struct FooIter;

trait MyIntoIter {
    fn into_iter(self) -> FooIter;
}

impl<T> MyIntoIter for Box<[T]> {
    fn into_iter(self) -> FooIter {
        FooIter
    }
}

struct Point;

pub fn main() {
    let points: Box<[_]> = vec![Point].into_boxed_slice();
    let y = points.into_iter();
    //~^ WARNING trait method `into_iter` will become ambiguous in Rust 2024
    //~| WARNING this changes meaning in Rust 2024
}