Skip to content

Commit feff5f6

Browse files
authored
Merge pull request #3365 from djspiewak/bug/revert-deferred-specialization
Bypass `IO`-specialized `Deferred` for now
2 parents 95be999 + 54ce76e commit feff5f6

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

core/shared/src/main/scala/cats/effect/IO.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1434,7 +1434,7 @@ object IO extends IOCompanionPlatform with IOLowPriorityImplicits {
14341434

14351435
def ref[A](a: A): IO[Ref[IO, A]] = IO(Ref.unsafe(a))
14361436

1437-
def deferred[A]: IO[Deferred[IO, A]] = IO(new IODeferred[A])
1437+
def deferred[A]: IO[Deferred[IO, A]] = IO(Deferred.unsafe)
14381438

14391439
def bracketFull[A, B](acquire: Poll[IO] => IO[A])(use: A => IO[B])(
14401440
release: (A, OutcomeIO[B]) => IO[Unit]): IO[B] =

tests/shared/src/test/scala/cats/effect/IOSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1585,7 +1585,7 @@ class IOSpec extends BaseSpec with Discipline with IOPlatformSpecification {
15851585
}
15861586

15871587
"produce a specialized version of Deferred" in real {
1588-
IO.deferred[Unit].flatMap(d => IO(d must haveClass[IODeferred[_]]))
1588+
IO.deferred[Unit].flatMap(d => IO((d must haveClass[IODeferred[_]]).pendingUntilFixed))
15891589
}
15901590

15911591
platformSpecs

0 commit comments

Comments
 (0)