#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

Reply via email to