play-iteratees icon indicating copy to clipboard operation
play-iteratees copied to clipboard

WIP: Scala 2.13

Open pjfanning opened this issue 7 years ago • 0 comments

This is not working but I thought I'd post the existing state for review. The scala-collection-compat dependency could be removed by copying some of its code into play-iteratees.

scala 2.12 compile fails

[error] /home/travis/build/pjfanning/play-iteratees/iteratees/src/main/scala/play/api/libs/iteratee/Iteratee.scala:586: Cannot construct a collection of type That with elements of type X based on a collection of type E.
[error]             case (Input.El(e1), Input.El(e2)) => Input.El[E](p(e1) ++ p(e2))
[error]                                                                    ^

scala 2.13 compile fails

[error] /home/travis/build/pjfanning/play-iteratees/iteratees/src/main/scala/play/api/libs/iteratee/CharEncoding.scala:45: type mismatch;
[error]  found   : play.api.libs.iteratee.Input[From]
[error]  required: play.api.libs.iteratee.Input[To]
[error]         val newIt = Iteratee.flatten(it.feed(in))
[error]                                              ^
[error] /home/travis/build/pjfanning/play-iteratees/iteratees/src/main/scala/play/api/libs/iteratee/CharEncoding.scala:52: type mismatch;
[error]  found   : play.api.libs.iteratee.Input[From]
[error]  required: play.api.libs.iteratee.Input[To]
[error]             val newIt = Iteratee.flatten(it.feed(Input.El(string)).flatMap(_.feed(in))(defaultExecutionContext))
[error]                                                                                   ^
[error] /home/travis/build/pjfanning/play-iteratees/iteratees/src/main/scala/play/api/libs/iteratee/Iteratee.scala:124: not enough arguments for method apply: (from: E)scala.collection.mutable.Builder[B,That] in trait BuildFrom.
[error] Unspecified value parameter from.
[error]         val builder = bf()
[error]                         ^
[error] /home/travis/build/pjfanning/play-iteratees/iteratees/src/main/scala/play/api/libs/iteratee/Iteratee.scala:586: type mismatch;
[error]  found   : Iterable[X]
[error]  required: E
[error]             case (Input.El(e1), Input.El(e2)) => Input.El[E](p(e1) ++ p(e2))
[error]                                                                    ^
[error] four errors found

pjfanning avatar Jan 18 '19 12:01 pjfanning