Skip to content
  • Simon Peyton Jones's avatar
    [project @ 2005-05-19 11:15:40 by simonpj] · 4a587049
    Simon Peyton Jones authored
    Tune up the reporting of unused imports
    
    		Merge to STABLE
    	(I think the earlier change made it across)
    	(PS: the commit also does some trimming of
    	redundant imports.  If they don't merge, just
    	discard them.)
    
    My earlier fixes to the reporting of unused imports still missed
    some obscure cases, some of which are now fixed by this commit.
    I had to make the import-provenance data type yet richer, but in
    fact it has more sharing now, so it may be cheaper on space.
    
    There's still one infelicity. Consider
    		import M( x )
    		imoprt N( x )
    where the same underlying 'x' is involved in both cases.  Currently we
    don't report a redundant import, because dropping either import would
    change the qualified names in scope (M.x, N.x). But if the qualified
    names aren't used, the import is indeed redundant. Sadly we don't know
    that, because we only know what Names are used.  Left for the future!
    There's a comment in RnNames.warnDuplicateImports
    
    This commit also trims quite a few redundant imports disovered
    by the new setup.
    4a587049