relude-fetch uses IO.suspendIO to interop with promises, so I suspect there's a problem with IO.suspend/IO.suspendIO when combined with IO.summonError. It might be specifically when used with IO.flatMap.
I'll look into this tonight - I imagine it's just a bug in the mess that is summonError.
@mlms13 discovered that something with relude-fetch is not terminating when using
IO.summonError
. We isoloated one simple case that doesn't terminate:relude-fetch uses
IO.suspendIO
to interop with promises, so I suspect there's a problem withIO.suspend
/IO.suspendIO
when combined withIO.summonError
. It might be specifically when used withIO.flatMap
.I'll look into this tonight - I imagine it's just a bug in the mess that is
summonError
.