[GHC] #10675: GHC does not check the functional dependency consistency condition correctly

GHC ghc-devs at haskell.org
Tue Apr 18 22:47:11 UTC 2017


#10675: GHC does not check the functional dependency consistency condition
correctly
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.10.1
      Resolution:                    |             Keywords:  FunDeps
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Let me note that the commit in comment:5 added this note
 {{{
 Note [Bogus consistency check]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In checkFunDeps we check that a new ClsInst is consistent with all the
 ClsInsts in the environment.

 The bogus aspect is discussed in Trac #10675. Currenty it if the two
 types are *contradicatory*, using (isNothing . tcUnifyTys).  But all
 the papers say we should check if the two types are *equal* thus
    not (substTys subst rtys1 `eqTypes` substTys subst rtys2)
 For now I'm leaving the bogus form because that's the way it has
 been for years.
 }}}
 Would someone like to fix the bogus-ness as suggested, and check what, if
 anything, goes wrong.  (See #9210 comment:4 for some possible testsuite
 failures.  Maybe they SHOULD fail.)  It'd be worth checking what Hackage
 libraries build before, but fail to build after.   This has been wrong for
 a long time.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10675#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list