about summary refs log tree commit diff
path: root/tests/ui/rust-2021/array-into-iter-ambiguous.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/rust-2021/array-into-iter-ambiguous.rs')
-rw-r--r--tests/ui/rust-2021/array-into-iter-ambiguous.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/rust-2021/array-into-iter-ambiguous.rs b/tests/ui/rust-2021/array-into-iter-ambiguous.rs
new file mode 100644
index 00000000000..83fbf8f6c21
--- /dev/null
+++ b/tests/ui/rust-2021/array-into-iter-ambiguous.rs
@@ -0,0 +1,27 @@
+// See https://github.com/rust-lang/rust/issues/88475
+// run-rustfix
+// edition:2018
+// check-pass
+#![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 = points.into_iter();
+    //~^ WARNING trait method `into_iter` will become ambiguous in Rust 2021
+    //~| WARNING this changes meaning in Rust 2021
+}