
#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