#5529: Newtypes with hidden constructors cannot be passed as FFI arguments
-----------------------------------+----------------------------------------
Reporter: mikhail.vorozhtsov | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.3 | Keywords:
Testcase: | Blockedby:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
-----------------------------------+----------------------------------------
I think this limitation (introduced recently in
5b988961338f73af5790bfd365ca79c858249cea) is a bad idea. It is way too
common for C libraries bindings to declare "safe" (either by allowing only
predefined values or by providing custom constructing functions) newtype
wrappers around typedefs. Such wrappers are then used by other FFI
libraries (for example, Linux-specific functions on POSIX types), ending
up in their foreign imports and triggering the "Unacceptable argument
type" error. It can be worked around by exporting constructors from
"Internal.*" modules, but I'd rather see the old behavior back.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5529>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs