From: Ian Lynagh Date: Sun, 26 Apr 2009 16:02:04 +0000 (+0000) Subject: Improve the error message when we find a module in 2 places; trac #3183 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=25b72d3e7da625732cbfbbe729a3e4321fd91ced Improve the error message when we find a module in 2 places; trac #3183 --- diff --git a/compiler/main/Finder.lhs b/compiler/main/Finder.lhs index 7587bb3..ac0eff8 100644 --- a/compiler/main/Finder.lhs +++ b/compiler/main/Finder.lhs @@ -535,17 +535,20 @@ findObjectLinkable mod obj_fn obj_time = do cannotFindModule :: DynFlags -> ModuleName -> FindResult -> SDoc cannotFindModule = cantFindErr (sLit "Could not find module") + (sLit "Ambiguous module name") cannotFindInterface :: DynFlags -> ModuleName -> FindResult -> SDoc cannotFindInterface = cantFindErr (sLit "Failed to load interface for") + (sLit "Ambiguous interface for") -cantFindErr :: LitString -> DynFlags -> ModuleName -> FindResult -> SDoc -cantFindErr cannot_find _dflags mod_name (FoundMultiple pkgs) - = hang (ptext cannot_find <+> quotes (ppr mod_name) <> colon) 2 ( +cantFindErr :: LitString -> LitString -> DynFlags -> ModuleName -> FindResult + -> SDoc +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:"), 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) 2 more_info where