
#15599: typeclass inference depends on whether a module is exposed. -------------------------------------+------------------------------------- Reporter: gleachkr | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.2.3 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Incorrect result | Unknown/Multiple at runtime | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): What's the `-package-db` stuff? I tried this {{{ #!/bin/bash GHCI822="/home/simonpj/5builds/ghc-8.2-branch/inplace/bin/ghc-stage2 --interactive" GHCI843="/home/simonpj/5builds/ghc-8.4-branch/inplace/bin/ghc-stage2 --interactive" echo "Behavior in 8.2.2 with pkgdb" echo "test" | $GHCI822 Good.hs 2> /dev/null | grep checkFlag echo "Behavior in 8.2.2 without pkgdb" echo "test" | $GHCI822 Good.hs Link.hs 2> /dev/null | grep checkFlag echo "Behavior in 8.4.3 with pkgdb" echo "test" | $GHCI843 Good.hs 2> /dev/null | grep checkFlag echo "Behavior in 8.4.3 without pkgdb" echo "test" | $GHCI843 Good.hs Link.hs 2> /dev/null | grep checkFlag }}} and got {{{ simonpj@cam-05-unx:~/tmp/T15599$ ./test-ghci.sh Behavior in 8.2.2 with pkgdb *Good> Flag {checkFlag = True} Behavior in 8.2.2 without pkgdb *Good> Flag {checkFlag = True} Behavior in 8.4.3 with pkgdb *Good> Flag {checkFlag = True} Behavior in 8.4.3 without pkgdb *Good> Flag {checkFlag = True} }}} This is with all the files in the same directory. With your file structure (source files nested inside `src/Tests`), the first command fails with {{{ Behavior in 8.2.2 with pkgdb GHCi, version 8.2.2.20180313: http://www.haskell.org/ghc/ :? for help [1 of 1] Compiling Tests.Good ( src/Tests/Good.hs, interpreted ) src/Tests/Good.hs:3:1: error: Could not find module ‘Tests.Link’ Use -v to see a list of the files searched for. | 3 | import Tests.Link | ^^^^^^^^^^^^^^^^^ Failed, no modules loaded. }}} Clearly I don't understand your use of package databases here -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15599#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler