2021-08-30 14:23:56 -05:00
|
|
|
// See https://github.com/rust-lang/rust/issues/88475
|
2024-02-16 14:02:50 -06:00
|
|
|
//@ run-rustfix
|
|
|
|
//@ edition:2018
|
|
|
|
//@ check-pass
|
2021-08-30 14:23:56 -05:00
|
|
|
#![warn(array_into_iter)]
|
|
|
|
#![allow(unused)]
|
|
|
|
|
|
|
|
struct FooIter;
|
|
|
|
|
|
|
|
trait MyIntoIter {
|
|
|
|
fn into_iter(self) -> FooIter;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<T, const N: usize> MyIntoIter for [T; N] {
|
|
|
|
fn into_iter(self) -> FooIter {
|
|
|
|
FooIter
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Point;
|
|
|
|
|
|
|
|
pub fn main() {
|
|
|
|
let points: [Point; 1] = [Point];
|
|
|
|
let y = MyIntoIter::into_iter(points);
|
|
|
|
//~^ WARNING trait method `into_iter` will become ambiguous in Rust 2021
|
|
|
|
//~| WARNING this changes meaning in Rust 2021
|
|
|
|
}
|