[GHC] #11360: Test "termination" doesn't pass with reversed uniques

GHC ghc-devs at haskell.org
Wed Jan 6 15:37:38 UTC 2016


#11360: Test "termination" doesn't pass with reversed uniques
-------------------------------------+-------------------------------------
           Reporter:  niteria        |             Owner:
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  GHC rejects
  Unknown/Multiple                   |  valid program
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 It fails with (full trace https://phabricator.haskell.org/P80):

 {{{
 *** Core Lint errors : in result of Tidy Core ***
 <no location info>: warning:
     In the expression: ReplaceApply
                          @ k_a18o1Q
                          @ (Apply t1_X18o1T t2_X18o1O)
                          @ n_a18o1O
                          @ (Apply r1_X18o1Q r2_X18o1M)
                          @ r2_X18o1M
                          @ t2_X18o1O
                          @ r1_X18o1Q
                          @ t1_X18o1T
                          @~ (<Apply t1_X18o1T t2_X18o1O>_N
                              :: Apply t1_X18o1T t2_X18o1O ~# Apply
 t1_X18o1T t2_X18o1O)
                          @~ (<Apply r1_X18o1Q r2_X18o1M>_N
                              :: Apply r1_X18o1Q r2_X18o1M ~# Apply
 r1_X18o1Q r2_X18o1M)
                          dt_a18nR6
                          dt_a18nR5
     Argument value doesn't match argument type:
     Fun type:
         (Apply r1_X18o1Q t2_X18o1O ~# Apply t1_X18o1T t2_X18o1O,
          Apply r1_X18o1Q r2_X18o1M ~# Apply r1_X18o1Q r2_X18o1M) =>
         Replace k_a18o1Q t1_X18o1T n_a18o1O r1_X18o1Q
         -> Replace k_a18o1Q t2_X18o1O n_a18o1O r2_X18o1M
         -> Replace
              k_a18o1Q
              (Apply r1_X18o1Q t2_X18o1O)
              n_a18o1O
              (Apply r1_X18o1Q r2_X18o1M)
     Arg type: Apply t1_X18o1T t2_X18o1O ~# Apply t1_X18o1T t2_X18o1O
     Arg: CO: <Apply t1_X18o1T t2_X18o1O>_N
 }}}

 Steps to reproduce:

 1. Add line
 `TEST_HC_OPTS += -dinitial-unique=16777000 -dunique-increment=-1`

 after line

 `TEST_HC_OPTS = -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output
 -no-user-$(GhcPackageDbFlag) -rtsopts $(EXTRA_HC_OPTS)`

 in `mk/test.mk`

 2. `make TESTS=termination`


 I suspect this is the same problem I'm running at
 https://mail.haskell.org/pipermail/ghc-devs/2016-January/010902.html,
 since the same change to `substTyWith` makes the test pass for me.

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


More information about the ghc-tickets mailing list