[GHC] #8535: :info (->) doesn't print all relevant instances

GHC ghc-devs at haskell.org
Fri Nov 15 03:19:54 UTC 2013


#8535: :info (->) doesn't print all relevant instances
-------------------------------------+------------------------------------
        Reporter:  parcs             |            Owner:
            Type:  bug               |           Status:  patch
        Priority:  normal            |        Milestone:
       Component:  GHCi              |          Version:  7.6.3
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------
Changes (by parcs):

 * status:  new => patch


Comment:

 Here's a validated diff that fixes this issue:

 {{{
 #!diff
 diff --git a/compiler/typecheck/TcType.lhs b/compiler/typecheck/TcType.lhs
 index 9ccb08a..430dfb0 100644
 --- a/compiler/typecheck/TcType.lhs
 +++ b/compiler/typecheck/TcType.lhs
 @@ -1316,7 +1316,9 @@ orphNamesOfType (TyVarTy _)                =
 emptyNameSet
  orphNamesOfType (TyConApp tycon tys)       = orphNamesOfTyCon tycon
                                               `unionNameSets`
 orphNamesOfTypes tys
  orphNamesOfType (LitTy {})          = emptyNameSet
 -orphNamesOfType (FunTy arg res)     = orphNamesOfType arg `unionNameSets`
 orphNamesOfType res
 +orphNamesOfType (FunTy arg res)     = orphNamesOfTyCon funTyCon
 `unionNameSets`
 +                                        orphNamesOfType arg
 `unionNameSets`
 +                                        orphNamesOfType res
  orphNamesOfType (AppTy fun arg)     = orphNamesOfType fun `unionNameSets`
 orphNamesOfType arg
  orphNamesOfType (ForAllTy _ ty)     = orphNamesOfType ty
 }}}

 I am not sure how this diff affects the other callers (aside from the
 ":info" machinery, that is) of `orphNamesOfType`.  It passes validation,
 at least.

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


More information about the ghc-tickets mailing list