async icon indicating copy to clipboard operation
async copied to clipboard

Remove empty list error states in `waitAny*` functions

Open 414owen opened this issue 2 years ago • 1 comments
trafficstars

I was debugging a thread blocked indefinitely on STM Transaction error recently, which ended up being caused by calling waitAnyCancel with an empty list.

More recent versions of async throw custom errors when this family of functions is passed an empty list.

I was wondering if, instead of throwing an error when passed empty lists, it would be better for these functions to take a Data.List.NonEmpty, which is in base?

414owen avatar Nov 17 '23 13:11 414owen

It would be a breaking change, which is unfortunate, and all call sites would have to be updated. So while it would indeed have been a better choice originally, I'm not sure whether it's worth changing it now.

simonmar avatar Nov 21 '23 08:11 simonmar