fs2
fs2 copied to clipboard
Weird interaction between cancelation and interruptWhen
Fix hanging when combining Stream.eval(F.canceled) and interruptWhen.
I believe that the .as(canceledError) is safe as our fa.attempt was canceled which means that cancelation is unmasked in this scope and hence F.canceled.as(canceledError) <-> F.canceled. This matches the behaviour in Scope#interruptibleEval when there is no interrupt context and it binds fa.attempt directly.