Commit 25b72d3e authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Improve the error message when we find a module in 2 places; trac #3183

parent 3572e8f0
...@@ -535,17 +535,20 @@ findObjectLinkable mod obj_fn obj_time = do ...@@ -535,17 +535,20 @@ findObjectLinkable mod obj_fn obj_time = do
cannotFindModule :: DynFlags -> ModuleName -> FindResult -> SDoc cannotFindModule :: DynFlags -> ModuleName -> FindResult -> SDoc
cannotFindModule = cantFindErr (sLit "Could not find module") cannotFindModule = cantFindErr (sLit "Could not find module")
(sLit "Ambiguous module name")
cannotFindInterface :: DynFlags -> ModuleName -> FindResult -> SDoc cannotFindInterface :: DynFlags -> ModuleName -> FindResult -> SDoc
cannotFindInterface = cantFindErr (sLit "Failed to load interface for") cannotFindInterface = cantFindErr (sLit "Failed to load interface for")
(sLit "Ambiguous interface for")
cantFindErr :: LitString -> DynFlags -> ModuleName -> FindResult -> SDoc cantFindErr :: LitString -> LitString -> DynFlags -> ModuleName -> FindResult
cantFindErr cannot_find _dflags mod_name (FoundMultiple pkgs) -> SDoc
= hang (ptext cannot_find <+> quotes (ppr mod_name) <> colon) 2 ( cantFindErr _ multiple_found _ mod_name (FoundMultiple pkgs)
= hang (ptext multiple_found <+> quotes (ppr mod_name) <> colon) 2 (
sep [ptext (sLit "it was found in multiple packages:"), sep [ptext (sLit "it was found in multiple packages:"),
hsep (map (text.packageIdString) pkgs)] hsep (map (text.packageIdString) pkgs)]
) )
cantFindErr cannot_find dflags mod_name find_result cantFindErr cannot_find _ dflags mod_name find_result
= hang (ptext cannot_find <+> quotes (ppr mod_name) <> colon) = hang (ptext cannot_find <+> quotes (ppr mod_name) <> colon)
2 more_info 2 more_info
where where
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment