• Edward Z. Yang's avatar
    Improvements/bugfixes to signature reexport handling. · fd2d5b6d
    Edward Z. Yang authored
    
    
    Summary:
    A number of changes:
    
    - Keep the TcGblEnv from typechecking the local signature
      around when we do merging.  In particular, we setup
      tcg_imports and tcg_rdr_env according to the local
      signature.  This improves our error output (for example,
      see bkpfail04) and also fixes a bug with reexporting
      modules in signatures (see bkpreex07)
    
    - Fix a bug in thinning, where if we had signature A(module A),
      this previously would have *thinned out* all of the inherited
      signatures.  Now we treat every inherited signature as having
      come from an import like "import A", so a module A reexport
      will pick them up.
    
    - Recompilation checking now keeps track of dependent source files
      of the source signature; previously we forgot to retain this
      info.
    
    There's a manual update too.
    Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
    
    Test Plan: validate
    
    Reviewers: bgamari, austin
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D3133
    fd2d5b6d
HscMain.hs 72.3 KB