cats-effect icon indicating copy to clipboard operation
cats-effect copied to clipboard

The pure asynchronous runtime for Scala

Results 321 cats-effect issues
Sort by recently updated
recently updated
newest added

Implement `IO` `redeem()` and `redeemWith()` _"directly"_ without `Either` allocation (via `attempt`). Actual: ```scala def redeem[B](recover: Throwable => B, map: A => B): IO[B] = attempt.map(_.fold(recover, map)) ```

good first issue
:microscope: experiment

Thought it could be useful to have a way to update the value of an `IOLocal` within the scope of some task `IO[A]` Motivation was being able to set log...

Fixes #1459 I had originally started with a direct port of cats-retry, but since then I've changed the design significantly enough to warrant a proper review of the api before...

:mushroom: enhancement

There are some docs on CE2 that are not transferred into the CE3 section that are good and not actually related to CE2 only. So, it might be a good...

:books: docs

#### For Consideration - [x] [unique](https://github.com/christopherdavenport/unique) - [x] [random](https://github.com/christopherdavenport/random) - [ ] [FUUID](https://github.com/christopherdavenport/FUUID) -> UUID (what to do about literal macros) - [ ] [cats-effect-time](https://github.com/christopherdavenport/cats-effect-time) - java-time instances. Considerations are...

This is related to https://github.com/typelevel/cats-effect/issues/3031, since sharing state and composing resources is tangled with understanding programs-as-values :) @davesmith00000 for example points to the [documentation for `Queue`](https://typelevel.org/cats-effect/docs/std/queue): it doesn't do a...

:books: docs

CE3/Dispatcher/Future/Exceptions. I have some `IO`s and convert them Futures (Enforced by Play) using `Dispatcher.unsafeToFuture`. In certain cases I raise errors using `IO.raiseError` to be handled in the unsafe region. The...

Reported by @oleg-py [here](https://gitter.im/typelevel/cats-effect-dev?at=605af4e7f07ffa1eb5608da3). ![image](https://user-images.githubusercontent.com/7115459/112316039-05d3e080-8cab-11eb-8874-ac6f3e8dc7c4.png) https://scastie.scala-lang.org/gLdvaPQsRpu9Gokfz9D7FA

:beetle: bug

Original: ``` java.lang.ClassCastException: interface akka.event.LoggingFilter is not assignable from class akka.event.DefaultLoggingFilter at akka.actor.ReflectiveDynamicAccess.$anonfun$getClassFor$1(ReflectiveDynamicAccess.scala:31) at scala.util.Try$.apply(Try.scala:210) at akka.actor.ReflectiveDynamicAccess.getClassFor(ReflectiveDynamicAccess.scala:28) at akka.actor.ReflectiveDynamicAccess.createInstanceFor(ReflectiveDynamicAccess.scala:47) at akka.actor.ActorSystemImpl.(ActorSystem.scala:926) at akka.actor.ActorSystem$.apply(ActorSystem.scala:282) at akka.actor.ActorSystem$.apply(ActorSystem.scala:326) at akka.actor.ActorSystem$.apply(ActorSystem.scala:308) at example.PlayWSResource$.$anonfun$res$1(PlayWSResource.scala:20) at...

:beetle: bug

It has to be error- and cancelation-oblivious because these are the cases in which `both` degrades to `race`. In the happy path, where both sides succeed (or only one side...

:books: docs