Changes between Initial Version and Version 1 of Ticket #933


Ignore:
Timestamp:
Oct 11, 2006 11:53:02 AM (8 years ago)
Author:
simonpj
Comment:

Audrey, when you added the "record fields in existentials" feature, you didn't arrange that the info is recorded in interface files.

I discovered and fixed this when cleaning up IfaceSyn? to add FC to GHC; but the fix is only in the HEAD. The patch is not easy to incorporate in the branch, because the FC patch was very big.

Fixing the 6.6 branch is possible, but would mean a change in interface file format, which we strongly discourage between patch-level releases.

So I'm inclined to leave it alone in the branch, and encourage you to try the HEAD.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #933 – Description

    initial v1  
    11Consider M.hs: 
    2  
     2{{{ 
    33> {-# OPTIONS_GHC -fglasgow-exts #-} 
    44> module M where data D = forall a. C { l :: a } 
    5  
     5}}} 
    66Then consider Main.hs: 
    7  
     7{{{ 
    88> import M 
    99> main = print () where x = C { l = () } 
    10  
     10}}} 
    1111A normal compilation works: 
    12  
     12{{{ 
    1313    $ ghc --make Main.hs 
    1414    [1 of 2] Compiling M                ( M.hs, M.o ) 
    1515    [2 of 2] Compiling Main             ( Main.hs, Main.o ) 
    1616    Linking Main ... 
    17  
     17}}} 
    1818However, separate compilation does not: 
    19  
     19{{{ 
    2020    $ touch Main.hs 
    2121    $ ghc --make Main.hs 
     
    3030                 where 
    3131                     x = C {l = ()} 
    32  
     32}}} 
    3333Where should I start looking to fix this? :-) 
    3434