
reid 2002/08/26 16:12:35 PDT Modified files: docs ffi-notes.txt src static.c Log: Fix for the problem Jeff reported: fullerExpand doesn't apply recursively because it seems like the ffi might want to know abotu the difference between two Ptr types (say) which might appear to be the same if you expanded the newtypes. newtype X = X Int newtype Y = Y Int foreign import ccall foo :: Ptr X -> Ptr Y -> IO () (Sorry not to be more specific about what could go wrong - I'm just trying to play safe here rather then having a specific error in mind.) The result of all this is that you have to apply fullerExpand as you walk the structure of the type. This fix tries to do this systematically instead of doing it in a few random places where it seemed necessary or I felt like it. I'm also committing a documentation change for the +L +L change. Revision Changes Path 1.9 +1 -1 hugs98/docs/ffi-notes.txt 1.83 +13 -13 hugs98/src/static.c