@@ -25,6 +25,7 @@ import Data.Data
25import Data.Graph
25import Data.Graph
26import Data.Generics
26import Data.Generics
27import Data.List (nub, intersect)
27import Data.List (nub, intersect)
28+import Data.Maybe (mapMaybe)
28import Control.Applicative ((<$>), (<*>), pure)
29import Control.Applicative ((<$>), (<*>), pure)
30import Language.PureScript.Declarations
31import Language.PureScript.Declarations
@@ -89,6 +90,10 @@ usedProperNames :: (Data d) => ModuleName -> d -> [ProperName]
89usedProperNames moduleName = nub . everything (++) (mkQ [] usedNames)
90usedProperNames moduleName = nub . everything (++) (mkQ [] usedNames)
91 usedNames :: Type -> [ProperName]
92 usedNames :: Type -> [ProperName]
93+ usedNames (ConstrainedType constraints _) = flip mapMaybe constraints $ \qual ->
95+ (Qualified (Just moduleName') name, _) | moduleName == moduleName' -> Just name
92 usedNames (TypeConstructor (Qualified (Just moduleName') name)) | moduleName == moduleName' = [name]
97 usedNames (TypeConstructor (Qualified (Just moduleName') name)) | moduleName == moduleName' = [name]
93 usedNames _ = []
98 usedNames _ = []