@@ -57,9 +57,11 @@ findUnusedImports (Module _ _ _ mdecls mexports) env usedImps = do
57 forM_ (mapMaybe getTypeRef declrefs) $ \(tn, c) -> do
57 forM_ (mapMaybe getTypeRef declrefs) $ \(tn, c) -> do
58 let allCtors = dctorsForType mni tn
58 let allCtors = dctorsForType mni tn
59 when (runProperName tn `elem` usedNames) $ case (c, null $ usedDctors `intersect` allCtors) of
59 when (runProperName tn `elem` usedNames) $ case (c, null $ usedDctors `intersect` allCtors) of
60+ (Nothing, True) -> tell $ errorMessage $ UnusedDctorImport tn
60− (_, True) -> tell $ errorMessage $ UnusedDctorImport tn
61+ (Just (_:_), True) -> tell $ errorMessage $ UnusedDctorImport tn
61− (Just ctors, False) -> let ddiff = ctors \\ usedDctors
63+ let ddiff = ctors \\ usedDctors
62− in unless (null ddiff) $ tell $ errorMessage $ UnusedDctorExplicitImport tn ddiff
64+ in unless (null ddiff) $ tell $ errorMessage $ UnusedDctorExplicitImport tn ddiff
63 _ -> return ()
65 _ -> return ()