[GHC] #15085: :type-at/:all-types and :r don't mix

GHC ghc-devs at haskell.org
Wed Apr 25 15:02:24 UTC 2018


#15085: :type-at/:all-types and :r don't mix
-------------------------------------+-------------------------------------
           Reporter:  dmwit          |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:  8.4.3
          Component:  Compiler       |           Version:  8.4.2
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Steps to reproduce:

 1. Put `x = ()` in test.hs.
 2. Start ghci.
 3. Turn on collection with :set +c.
 4. Load the file with :l test.hs.
 5. Observe the following output from :all-types

 {{{
 test.hs:(1,1)-(1,2): ()
 test.hs:(1,5)-(1,7): ()
 }}}

 6. While ghci is still open, modify the file to say `x = True`.
 7. In the same ghci session as before, reload with :r, or load the file
 again with :l test.hs, chef's choice.
 8. Run :all-types again.

 After step 8, ghci prints the exact same thing as before, indicating that
 both sides of the equation have type `()`. It should instead update the
 source spans and types to match the file, reporting `Bool` instead of `()`
 and `(1,5)-(1,9)` for the second span.

 Manually exiting and restarting ghci appears to be the only way to freshen
 the collected type information.

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


More information about the ghc-tickets mailing list