[GHC] #13291: bpk15 and bkp47 fail with -dunique-increment=-1

GHC ghc-devs at haskell.org
Fri Feb 17 16:56:41 UTC 2017


#13291: bpk15 and bkp47 fail with -dunique-increment=-1
-------------------------------------+-------------------------------------
           Reporter:  niteria        |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:  #4012
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 This happens on master.

 Repro command:

 {{{
 cd testsuite/; make EXTRA_HC_OPTS='-dunique-increment=-1' TEST="bkp15
 bkp47"
 }}}

 Result:

 {{{
 Compile failed (exit code 1) errors were:
 [1 of 3] Processing p
   [1 of 1] Compiling A[sig]           ( p/A.hsig, nothing )
 [2 of 3] Processing q
   [1 of 1] Compiling A[sig]           ( q/A.hsig, nothing )
 [3 of 3] Processing r
   [1 of 2] Compiling A[sig]           ( r/A.hsig, nothing )

 bkp47.bkp:10:9: error:
     • Class ‘C’ has conflicting definitions in the module
       and its hsig file
       Main module: class C a where
                      g :: a -> a
                      f :: a -> a
                      {-# MINIMAL f | g #-}
       Hsig file:  class C a where
                     f :: a -> a
                     g :: a -> a
                     {-# MINIMAL f #-}
       The methods do not match:
         The names ‘f’ and ‘g’ are different
         The names ‘g’ and ‘f’ are different
     • while merging the signatures from:
         • p[A=<A>]:A
         • q[A=<A>]:A
         • ...and the local signature for A

 bkp47.bkp:10:9: error:
     • Class ‘C’ has conflicting definitions in the module
       and its hsig file
       Main module: class C a where
                      g :: a -> a
                      f :: a -> a
                      {-# MINIMAL f | g #-}
       Hsig file:  class C a where
                     f :: a -> a
                     g :: a -> a
                     {-# MINIMAL g #-}
       The methods do not match:
         The names ‘f’ and ‘g’ are different
         The names ‘g’ and ‘f’ are different
     • while merging the signatures from:
         • p[A=<A>]:A
         • q[A=<A>]:A
         • ...and the local signature for A
 }}}

 {{{
 Compile failed (exit code 1) errors were:

 bkp15.bkp:1:26: warning:
     -XDatatypeContexts is deprecated: It was widely considered a
 misfeature, and has been removed from the Haskell language.
 [1 of 5] Processing p
   [1 of 1] Compiling H[sig]           ( p/H.hsig, nothing )
 [2 of 5] Processing q
   [1 of 1] Compiling H[sig]           ( q/H.hsig, nothing )
 [3 of 5] Processing r
   [1 of 2] Compiling H[sig]           ( r/H.hsig, nothing )

 bkp15.bkp:36:9: error:
     • Class ‘Bloop’ has conflicting definitions in the module
       and its hsig file
       Main module: class GHC.Classes.Eq a => Bloop a b | a -> b where
                      data family GMap a (v :: * -> *)
                      y :: a -> a -> GHC.Types.Ordering
                      default y :: GHC.Classes.Ord a => a -> a ->
 GHC.Types.Ordering
                      xa :: a -> a -> GHC.Types.Bool
                      default xa :: a -> a -> GHC.Types.Bool
                      {-# MINIMAL xa | y | xa | y #-}
       Hsig file:  class GHC.Classes.Eq a => Bloop a b | a -> b where
                     data family GMap a (v :: * -> *)
                     xa :: a -> a -> GHC.Types.Bool
                     default xa :: a -> a -> GHC.Types.Bool
                     y :: a -> a -> GHC.Types.Ordering
                     default y :: GHC.Classes.Ord a => a -> a ->
 GHC.Types.Ordering
                     {-# MINIMAL xa | y #-}
       The methods do not match:
         The names ‘xa’ and ‘y’ are different
         The types of ‘xa’ are different
         The default methods associated with ‘xa’ are not compatible
         The names ‘y’ and ‘xa’ are different
         The types of ‘y’ are different
         The default methods associated with ‘y’ are not compatible
     • while merging the signatures from:
         • p[H=<H>]:H
         • q[H=<H>]:H
         • ...and the local signature for H

 bkp15.bkp:36:9: error:
     • Class ‘Bloop’ has conflicting definitions in the module
       and its hsig file
       Main module: class GHC.Classes.Eq a => Bloop a b | a -> b where
                      data family GMap a (v :: * -> *)
                      y :: a -> a -> GHC.Types.Ordering
                      default y :: GHC.Classes.Ord a => a -> a ->
 GHC.Types.Ordering
                      xa :: a -> a -> GHC.Types.Bool
                      default xa :: a -> a -> GHC.Types.Bool
                      {-# MINIMAL xa | y | xa | y #-}
       Hsig file:  class GHC.Classes.Eq a => Bloop a b | a -> b where
                     data family GMap a (v :: * -> *)
                     xa :: a -> a -> GHC.Types.Bool
                     default xa :: a -> a -> GHC.Types.Bool
                     y :: a -> a -> GHC.Types.Ordering
                     default y :: GHC.Classes.Ord a => a -> a ->
 GHC.Types.Ordering
                     {-# MINIMAL xa | y #-}
       The methods do not match:
         The names ‘xa’ and ‘y’ are different
         The types of ‘xa’ are different
         The default methods associated with ‘xa’ are not compatible
         The names ‘y’ and ‘xa’ are different
         The types of ‘y’ are different
         The default methods associated with ‘y’ are not compatible
     • while merging the signatures from:
         • p[H=<H>]:H
         • q[H=<H>]:H
         • ...and the local signature for H
 }}}

 This indicates some dependence on Unique ordering.

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


More information about the ghc-tickets mailing list