Currently, in the case of ambuguity when no local names are present, the error is wrong. Say, I have both Data.List.Quantifiers.Right and Prelude.Right in the context, and I'm in the module X. If I do lookupName `{Right}, now I get X.Right is not in scope, but I should have an ambiguity error message instead.
So, it means that logic of refined and un-refined search differs in the produced error messages. That's why I propose to replace old assert_total call to the same function with the call to the similar, but different function.
Currently, in the case of ambuguity when no local names are present, the error is wrong. Say, I have both
Data.List.Quantifiers.Right
andPrelude.Right
in the context, and I'm in the moduleX
. If I dolookupName `{Right}
, now I getX.Right is not in scope
, but I should have an ambiguity error message instead.So, it means that logic of refined and un-refined search differs in the produced error messages. That's why I propose to replace old
assert_total
call to the same function with the call to the similar, but different function.