Skip to content

Commit

Permalink
#53 - verified test runs on all versions
Browse files Browse the repository at this point in the history
  • Loading branch information
chris-twiner committed Jan 15, 2024
1 parent 564c7f4 commit 33e0472
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion docs/Getting_Started/release_notes/0.6.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Build wise it's moved to maven and github actions to simplify rolling out any fu

## Scalaz Iteratee

The pull api (and async pull api) have changed to be fully monadic and will require code changes, the default Id implementation is not tail recursive and leads to SOEs - as such the iteratees are no longer imported by utils._ directly you must choose the right import for your use case.
The pull api (and async pull api) have changed to be fully monadic and will require code changes, the default Id implementation is not (always) tail recursive and leads to SOEs - as such the iteratees are no longer imported by utils._ directly you must choose the right import for your use case. The PullTest.testFoldOnDoneId for example will fail on 2.11 and 2.12, but sometimes works on 2.13 when running all tests (despite having the same scalaz version as 2.12), so ymmv across runtimes.

Iteratee[E,A] is a type alias for IterateeT[E,Id,A] so everything is "wrapped" in an Id container (Id[X]=X), as such you may need to specify an appropriate Monad type to get a proper compilation and runtime behaviour, e.g. IO or Trampoline. Indeed, if the compiler doesn't present an error it's typically derived as Id, which can SOE.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1012,7 +1012,7 @@ object monadHelpers {
}

implicit val ioCanPerform: CanRunIt[IO] = new CanRunIt[IO] {
override def runIt[A](param: IO[A])(implicit F: Monad[IO]): A = param unsafePerformIO()
override def runIt[A](param: IO[A])(implicit F: Monad[IO]): A = param.unsafePerformIO()
}
}

Expand Down
2 changes: 1 addition & 1 deletion scales-xml/src/test/scala/scales/xml/PullTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -894,7 +894,7 @@ on both the qname matching (3 of them) and then the above combos
def testFoldOnDoneId(): Unit = try {
val iter = withHeaders(foldOnDoneMax).iterator
doFoldOnDone(iteratorEnumerator(iter))
fail("Actually worked, really should SOE")
// can sometimes actually work
} catch {
case e: StackOverflowError => ()
}
Expand Down

0 comments on commit 33e0472

Please sign in to comment.