From 651dd121a65827884eea23605026d16e26d4301c Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Tue, 7 Jul 2009 13:34:27 +0000 Subject: [PATCH] When exporting F(..), all the children of F are also exported This fixes the unused imports warning when Foo (F(x,y,z)) is imported and Foo (F(..)) is exported. --- compiler/rename/RnNames.lhs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/rename/RnNames.lhs b/compiler/rename/RnNames.lhs index 781de31..1052db6 100644 --- a/compiler/rename/RnNames.lhs +++ b/compiler/rename/RnNames.lhs @@ -951,6 +951,10 @@ exports_from_avail (Just rdr_items) rdr_env imports this_mod lookup_ie ie@(IEThingAll rdr) = do name <- lookupGlobalOccRn rdr let kids = findChildren kids_env name + mkKidRdrName = case isQual_maybe rdr of + Nothing -> mkRdrUnqual + Just (modName, _) -> mkRdrQual modName + addUsedRdrNames $ map (mkKidRdrName . nameOccName) kids when (null kids) (if (isTyConName name) then addWarn (dodgyExportWarn name) -- This occurs when you export T(..), but -- 1.7.10.4