diff --git a/library/src/scala/runtime/stdLibPatches/Predef.scala b/library/src/scala/runtime/stdLibPatches/Predef.scala index 27d00c0fcce5..6058b0a293f4 100644 --- a/library/src/scala/runtime/stdLibPatches/Predef.scala +++ b/library/src/scala/runtime/stdLibPatches/Predef.scala @@ -60,4 +60,12 @@ object Predef: inline def ne(inline y: AnyRef | Null): Boolean = !(x eq y) + extension [T](it: java.lang.Iterable[T]) + def foreach(f: java.util.function.Consumer[T]): Unit = + it.forEach(f) + + extension [T](s: java.util.stream.Stream[T]) + def foreach(f: java.util.function.Consumer[T]): Unit = + s.forEach(f) + end Predef diff --git a/tests/pos/java-collection-for-do.scala b/tests/pos/java-collection-for-do.scala new file mode 100644 index 000000000000..02cba511df44 --- /dev/null +++ b/tests/pos/java-collection-for-do.scala @@ -0,0 +1,13 @@ +import java.util.{List, ArrayList} +import java.util.stream.Stream + +object JavaCollectionForDo { + + for + x <- scala.List(1, 2, 3) + y <- List.of(1, 2, 3) + z <- Stream.of(1, 2, 3) + do + println(x + y + z) + +} \ No newline at end of file