haddock points to reexported symbol even if a symbol is imported through another module #1530
Description
In my module, I'm importing Data.Text.Text
and using it in a function signature.
However, my library depends on text
and foldl
and foldl
reexports Text
in the Control.Foldl.Text
module.
Even if I'm not importing Control.Foldl.Text
in my module, haddock generates links documentation to this module instead of a link to the Data.Text.Text
module.
For exemple:
I've created a new library with cabal init
which contains this file:
module MyLib (someFunc, fiz) where
import Data.Text
fiz :: Text
fiz = undefined
someFunc :: IO ()
someFunc = putStrLn "someFunc"
Note: this is the default library generated by cabal init
with the added (and exported) fiz
symbol.
Note that it imports the Data.Text
module.
If I only depend on text
on my cabal
file, the generated haddock correctly points to Data.Text.Text
. However, if I'm adding foldl
in my cabal
file, the generated documentation points to Control.Foldl.Text
, as you can see here:
Changing the order of the dependencies in the cabal
file does not change the result.