#5664: Missing checks for FFI declaration types ---------------------------------+------------------------------------------ Reporter: simonmar | Owner: pcapriotti Type: bug | Status: patch Priority: normal | Milestone: 7.6.1 Component: Compiler (FFI) | Version: 7.2.1 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: GHC accepts invalid program Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------
Comment(by simonpj): Thanks. Looks right to me, but it took me a while to be sure. Suggestions for comments to make it easier: * Needs a `Note [blah]` with an example in `isFFIDynTy`. * Comment on `isFFIDynTy` mentions `Addr` but code does not? * The comment on `isFFIDynTy` should say what the two argument types are, linked to your example. It took me a while to understand what the `curried_res_ty` was doing, until I realised that `arg_tys` was all the args ''except'' the `FunPtr`. * The comment says that the check is modulo newtypes, but `splitTyConApp_maybe` does not look through newtypes, so I thought it was wrong. But it's ok because we have previously called `normaliseFfiType`. Worth a comment to point this out, as is done in `TcForeign` line 366, for example. Please push, and add a test. Thanks! Simon -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5664#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs