Closed hasufell closed 3 years ago
Hmm that looks like a program or configuration error. You've somehow ended up in withHandleToHANDLEPosix
that's a program bug. Posix handles aren't defined in WinIO.
Since temporary
does not have a dependency on Win32 the issue must be in one of it's dependencies. It looks like something is either calling withHandleToHANDLEPosix
or is calling withHandleToHANDLE
on a version of Win32 without WinIO support.
I do not follow. Base doesn't call into Win32 to create handles. It has its own routines to do so.
The code in base handles the IO manager switch itself
findTempName = findTempNamePosix <!> findTempNameWinIO
And does not enter the posix code. If it did the compiler wouldn't bootstrap and nothing using WinIO would work.
Turns out it is a Win32 bug, a typo has caused the CPP macro to go missing in the one place that wouldn't cause a build failure.
I'll do some backport tomorrow to make a 2.10.0.1 which cabal should be able to use for a fix.
nice find
When running the test suite of
temporary-1.3
with--io-manager=native
I get the error above:Steps to Reproduce (for bugs)
Your Environment
cabal-install 3.4.0.0, GHC-9.0.1, Win32-2.10.0.0, Windows 10