diff options
author | Jeff Happily <goodboy96@live.com.my> | 2020-05-09 13:54:46 +0800 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-05-13 20:08:15 -0400 |
commit | 404581eaa3bf8d3f100da7610a6a38158bea17c4 (patch) | |
tree | dc5564e70a77e341c6e9d6f664f351ccde4515ca /compiler | |
parent | a951e1bab3dfd3e9de31b0d8bf5699a9216b181d (diff) | |
download | haskell-404581eaa3bf8d3f100da7610a6a38158bea17c4.tar.gz |
Handle single unused import
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/GHC/Rename/Names.hs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/GHC/Rename/Names.hs b/compiler/GHC/Rename/Names.hs index cd39ed701d..db74847707 100644 --- a/compiler/GHC/Rename/Names.hs +++ b/compiler/GHC/Rename/Names.hs @@ -1498,9 +1498,16 @@ warnUnusedImport flag fld_env (L loc decl, used, unused) | null unused = return () + -- Only one import is unused, with `SrcSpan` covering only the unused item instead of + -- the whole import statement + | Just (_, L _ imports) <- ideclHiding decl + , length unused == 1 + , Just (L loc _) <- find (\(L _ ie) -> ((ieName ie) :: Name) `elem` unused) imports + = addWarnAt (Reason flag) loc msg2 + -- Some imports are unused | otherwise - = addWarnAt (Reason flag) loc msg2 + = addWarnAt (Reason flag) loc msg2 where msg1 = vcat [ pp_herald <+> quotes pp_mod <+> is_redundant |