[GHC] #16247: GHC 8.6 Core Lint regression (Kind application error)

GHC ghc-devs at haskell.org
Tue Feb 12 20:42:27 UTC 2019


#16247: GHC 8.6 Core Lint regression (Kind application error)
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.10.1
       Component:  Compiler (Type    |              Version:  8.6.3
  checker)                           |
      Resolution:                    |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by RyanGlScott):

 A more complicated example that `singletons` spat out:

 {{{#!hs
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE TypeInType #-}
 {-# LANGUAGE TypeOperators #-}
 module Bug where

 import Data.Kind (Constraint, Type)
 import GHC.Generics (Rep1, U1(..))

 data TyFun :: Type -> Type -> Type
 type a ~> b = TyFun a b -> Type
 infixr 0 ~>
 type family Apply (f :: a ~> b) (x :: a) :: b
 type SameKind (a :: k) (b :: k) = (() :: Constraint)

 type family From1 (z :: (f :: Type -> Type) a) :: Rep1 f a

 type family From1U1 (x :: U1 (p :: k)) :: Rep1 U1 p where {}
 data From1U1Sym0 :: forall p k. (U1 :: k -> Type) p ~> Rep1 (U1 :: k ->
 Type) p where
   From1Sym0KindInference :: forall z arg. SameKind (Apply From1U1Sym0 arg)
 (From1U1 arg)
                          => From1U1Sym0 z
 }}}
 {{{
 $ /opt/ghc/8.6.3/bin/ghc Bug.hs -dcore-lint
 [1 of 1] Compiling Bug              ( Bug.hs, Bug.o )
 *** Core Lint errors : in result of Tidy Core ***
 <no location info>: warning:
     In the type ‘forall k (p :: k) k k (p :: k) (z :: TyFun
                                                         (U1 p)
                                                         (M1
                                                            D
                                                            ('MetaData
                                                               "U1"
 "GHC.Generics" "base" 'False)
                                                            (C1 ('MetaCons
 "U1" 'PrefixI 'False) U1)
                                                            p)) (arg :: U1
 p).
                  SameKind
                    (Apply
                       (From1U1Sym0 |> (TyFun
                                          <U1 p>_N (Sym (Sym (Rep1_U1[0]
 <k>_N) <p>_N)))_N
                                       ->_N <*>_N)
                       arg)
                    (From1U1 arg |> Sym (Sym (Rep1_U1[0] <k>_N) <p>_N)) =>
                  From1U1Sym0
                    (z |> (TyFun <U1 p>_N (Sym (Rep1_U1[0] <k>_N)
 <p>_N))_N)’
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the type ‘forall k (p :: k) k k (p :: k) (z :: TyFun
                                                         (U1 p)
                                                         (M1
                                                            D
                                                            ('MetaData
                                                               "U1"
 "GHC.Generics" "base" 'False)
                                                            (C1 ('MetaCons
 "U1" 'PrefixI 'False) U1)
                                                            p)) (arg :: U1
 p).
                  SameKind
                    (Apply
                       (From1U1Sym0 |> (TyFun
                                          <U1 p>_N (Sym (Sym (Rep1_U1[0]
 <k>_N) <p>_N)))_N
                                       ->_N <*>_N)
                       arg)
                    (From1U1 arg |> Sym (Sym (Rep1_U1[0] <k>_N) <p>_N)) =>
                  From1U1Sym0
                    (z |> (TyFun <U1 p>_N (Sym (Rep1_U1[0] <k>_N)
 <p>_N))_N)’
     Kind application error in
       type ‘M1
               D
               ('MetaData "U1" "GHC.Generics" "base" 'False)
               (C1 ('MetaCons "U1" 'PrefixI 'False) U1)
               p_a2U6’
       Function kind = forall k. * -> Meta -> (k -> *) -> k -> *
       Arg kinds = [(k_a2U7, *), (D, *),
                    ('MetaData "U1" "GHC.Generics" "base" 'False, Meta),
                    (C1 ('MetaCons "U1" 'PrefixI 'False) U1, k_a2U7 -> *),
                    (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the type ‘forall k (p :: k) k k (p :: k) (z :: TyFun
                                                         (U1 p)
                                                         (M1
                                                            D
                                                            ('MetaData
                                                               "U1"
 "GHC.Generics" "base" 'False)
                                                            (C1 ('MetaCons
 "U1" 'PrefixI 'False) U1)
                                                            p)) (arg :: U1
 p).
                  SameKind
                    (Apply
                       (From1U1Sym0 |> (TyFun
                                          <U1 p>_N (Sym (Sym (Rep1_U1[0]
 <k>_N) <p>_N)))_N
                                       ->_N <*>_N)
                       arg)
                    (From1U1 arg |> Sym (Sym (Rep1_U1[0] <k>_N) <p>_N)) =>
                  From1U1Sym0
                    (z |> (TyFun <U1 p>_N (Sym (Rep1_U1[0] <k>_N)
 <p>_N))_N)’
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the type ‘forall k (p :: k) k k (p :: k) (z :: TyFun
                                                         (U1 p)
                                                         (M1
                                                            D
                                                            ('MetaData
                                                               "U1"
 "GHC.Generics" "base" 'False)
                                                            (C1 ('MetaCons
 "U1" 'PrefixI 'False) U1)
                                                            p)) (arg :: U1
 p).
                  SameKind
                    (Apply
                       (From1U1Sym0 |> (TyFun
                                          <U1 p>_N (Sym (Sym (Rep1_U1[0]
 <k>_N) <p>_N)))_N
                                       ->_N <*>_N)
                       arg)
                    (From1U1 arg |> Sym (Sym (Rep1_U1[0] <k>_N) <p>_N)) =>
                  From1U1Sym0
                    (z |> (TyFun <U1 p>_N (Sym (Rep1_U1[0] <k>_N)
 <p>_N))_N)’
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the type ‘forall k (p :: k) k k (p :: k) (z :: TyFun
                                                         (U1 p)
                                                         (M1
                                                            D
                                                            ('MetaData
                                                               "U1"
 "GHC.Generics" "base" 'False)
                                                            (C1 ('MetaCons
 "U1" 'PrefixI 'False) U1)
                                                            p)) (arg :: U1
 p).
                  SameKind
                    (Apply
                       (From1U1Sym0 |> (TyFun
                                          <U1 p>_N (Sym (Sym (Rep1_U1[0]
 <k>_N) <p>_N)))_N
                                       ->_N <*>_N)
                       arg)
                    (From1U1 arg |> Sym (Sym (Rep1_U1[0] <k>_N) <p>_N)) =>
                  From1U1Sym0
                    (z |> (TyFun <U1 p>_N (Sym (Rep1_U1[0] <k>_N)
 <p>_N))_N)’
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 Bug.hs:22:36: warning:
     [in body of lambda with binder z_X1QM :: TyFun
                                                (U1 p_a2U6)
                                                (M1
                                                   D
                                                   ('MetaData "U1"
 "GHC.Generics" "base" 'False)
                                                   (C1 ('MetaCons "U1"
 'PrefixI 'False) U1)
                                                   p_a2U6)]
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 Bug.hs:22:36: warning:
     [in body of lambda with binder z_X1QM :: TyFun
                                                (U1 p_a2U6)
                                                (M1
                                                   D
                                                   ('MetaData "U1"
 "GHC.Generics" "base" 'False)
                                                   (C1 ('MetaCons "U1"
 'PrefixI 'False) U1)
                                                   p_a2U6)]
     Kind application error in
       type ‘M1
               D
               ('MetaData "U1" "GHC.Generics" "base" 'False)
               (C1 ('MetaCons "U1" 'PrefixI 'False) U1)
               p_a2U6’
       Function kind = forall k. * -> Meta -> (k -> *) -> k -> *
       Arg kinds = [(k_a2U7, *), (D, *),
                    ('MetaData "U1" "GHC.Generics" "base" 'False, Meta),
                    (C1 ('MetaCons "U1" 'PrefixI 'False) U1, k_a2U7 -> *),
                    (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the expression: From1Sym0KindInference
                          @ k_a2U5
                          @ p_a2U6
                          @ k_a2U7
                          @ (z_X1QM |> (TyFun
                                          <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                          @ k_X2TZ
                          @ p_X2U5
                          @ z_X1QM
                          @ arg_X1QO
                          @~ (<(z_X1QM |> (TyFun
                                             <U1 p_a2U6>_N
                                             (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)>_N
                              :: (z_X1QM |> (TyFun
                                               <U1 p_a2U6>_N
                                               (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
                                 ~# (z_X1QM |> (TyFun
                                                  <U1 p_a2U6>_N
                                                  (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N))
                          dt_a35M
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the expression: From1Sym0KindInference
                          @ k_a2U5
                          @ p_a2U6
                          @ k_a2U7
                          @ (z_X1QM |> (TyFun
                                          <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                          @ k_X2TZ
                          @ p_X2U5
                          @ z_X1QM
                          @ arg_X1QO
                          @~ (<(z_X1QM |> (TyFun
                                             <U1 p_a2U6>_N
                                             (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)>_N
                              :: (z_X1QM |> (TyFun
                                               <U1 p_a2U6>_N
                                               (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
                                 ~# (z_X1QM |> (TyFun
                                                  <U1 p_a2U6>_N
                                                  (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N))
                          dt_a35M
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the expression: From1Sym0KindInference
                          @ k_a2U5
                          @ p_a2U6
                          @ k_a2U7
                          @ (z_X1QM |> (TyFun
                                          <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                          @ k_X2TZ
                          @ p_X2U5
                          @ z_X1QM
                          @ arg_X1QO
                          @~ (<(z_X1QM |> (TyFun
                                             <U1 p_a2U6>_N
                                             (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)>_N
                              :: (z_X1QM |> (TyFun
                                               <U1 p_a2U6>_N
                                               (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
                                 ~# (z_X1QM |> (TyFun
                                                  <U1 p_a2U6>_N
                                                  (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N))
                          dt_a35M
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the coercion ‘<(z_X1QM |> (TyFun
                                     <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)>_N’
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the coercion ‘<(z_X1QM |> (TyFun
                                     <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)>_N’
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the coercion ‘<(z_X1QM |> (TyFun
                                     <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)>_N’
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 Bug.hs:22:36: warning:
     [in body of lambda with binder z_X1QM :: TyFun
                                                (U1 p_a2U6)
                                                (M1
                                                   D
                                                   ('MetaData "U1"
 "GHC.Generics" "base" 'False)
                                                   (C1 ('MetaCons "U1"
 'PrefixI 'False) U1)
                                                   p_a2U6)]
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 Bug.hs:22:36: warning:
     [in body of lambda with binder z_X1QM :: TyFun
                                                (U1 p_a2U6)
                                                (M1
                                                   D
                                                   ('MetaData "U1"
 "GHC.Generics" "base" 'False)
                                                   (C1 ('MetaCons "U1"
 'PrefixI 'False) U1)
                                                   p_a2U6)]
     Kind application error in
       type ‘M1
               D
               ('MetaData "U1" "GHC.Generics" "base" 'False)
               (C1 ('MetaCons "U1" 'PrefixI 'False) U1)
               p_a2U6’
       Function kind = forall k. * -> Meta -> (k -> *) -> k -> *
       Arg kinds = [(k_a2U7, *), (D, *),
                    ('MetaData "U1" "GHC.Generics" "base" 'False, Meta),
                    (C1 ('MetaCons "U1" 'PrefixI 'False) U1, k_a2U7 -> *),
                    (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the expression: From1Sym0KindInference
                          @ k_a2U5
                          @ p_a2U6
                          @ k_a2U7
                          @ (z_X1QM |> (TyFun
                                          <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                          @ k_X2TZ
                          @ p_X2U5
                          @ z_X1QM
                          @ arg_X1QO
                          @~ (<(z_X1QM |> (TyFun
                                             <U1 p_a2U6>_N
                                             (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)>_N
                              :: (z_X1QM |> (TyFun
                                               <U1 p_a2U6>_N
                                               (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
                                 ~# (z_X1QM |> (TyFun
                                                  <U1 p_a2U6>_N
                                                  (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N))
                          dt_a35M
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the expression: From1Sym0KindInference
                          @ k_a2U5
                          @ p_a2U6
                          @ k_a2U7
                          @ (z_X1QM |> (TyFun
                                          <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                          @ k_X2TZ
                          @ p_X2U5
                          @ z_X1QM
                          @ arg_X1QO
                          @~ (<(z_X1QM |> (TyFun
                                             <U1 p_a2U6>_N
                                             (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)>_N
                              :: (z_X1QM |> (TyFun
                                               <U1 p_a2U6>_N
                                               (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
                                 ~# (z_X1QM |> (TyFun
                                                  <U1 p_a2U6>_N
                                                  (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N))
                          dt_a35M
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the expression: From1Sym0KindInference
                          @ k_a2U5
                          @ p_a2U6
                          @ k_a2U7
                          @ (z_X1QM |> (TyFun
                                          <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                          @ k_X2TZ
                          @ p_X2U5
                          @ z_X1QM
                          @ arg_X1QO
                          @~ (<(z_X1QM |> (TyFun
                                             <U1 p_a2U6>_N
                                             (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)>_N
                              :: (z_X1QM |> (TyFun
                                               <U1 p_a2U6>_N
                                               (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
                                 ~# (z_X1QM |> (TyFun
                                                  <U1 p_a2U6>_N
                                                  (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N))
                          dt_a35M
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the coercion ‘<(z_X1QM |> (TyFun
                                     <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)>_N’
     Kind application error in type ‘U1 p_a2U6’
       Function kind = forall k. k -> *
       Arg kinds = [(k_a2U7, *), (p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the coercion ‘<(z_X1QM |> (TyFun
                                     <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)>_N’
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 <no location info>: warning:
     In the coercion ‘<(z_X1QM |> (TyFun
                                     <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)>_N’
     Kind application error in
       coercion ‘Sym (Rep1_U1[0] <k_a2U7>_N) <p_a2U6>_N’
       Function kind = k_a2U7 -> *
       Arg kinds = [(p_a2U6, k_a2U5)]
     Fun: k_a2U7
          (p_a2U6, k_a2U5)
 *** Offending Program ***
 $WFrom1Sym0KindInference [InlPrag=INLINE[2]]
   :: forall k (p :: k) k k (p :: k) (z :: TyFun
                                             (U1 p)
                                             (M1
                                                D
                                                ('MetaData "U1"
 "GHC.Generics" "base" 'False)
                                                (C1 ('MetaCons "U1"
 'PrefixI 'False) U1)
                                                p)) (arg :: U1 p).
      SameKind
        (Apply
           (From1U1Sym0 |> (TyFun
                              <U1 p>_N (Sym (Sym (Rep1_U1[0] <k>_N)
 <p>_N)))_N
                           ->_N <*>_N)
           arg)
        (From1U1 arg |> Sym (Sym (Rep1_U1[0] <k>_N) <p>_N)) =>
      From1U1Sym0
        (z |> (TyFun <U1 p>_N (Sym (Rep1_U1[0] <k>_N) <p>_N))_N)
 [GblId[DataConWrapper],
  Arity=1,
  Caf=NoCafRefs,
  Str=<L,U>,
  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
          WorkFree=True, Expandable=True,
          Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
          Tmpl= \ (@ k_X2TZ)
                  (@ (p_X2U5 :: k_X2TZ))
                  (@ k_a2U5)
                  (@ k_a2U7)
                  (@ (p_a2U6 :: k_a2U5))
                  (@ (z_X1QM :: TyFun
                                  (U1 p_a2U6)
                                  (M1
                                     D
                                     ('MetaData "U1" "GHC.Generics" "base"
 'False)
                                     (C1 ('MetaCons "U1" 'PrefixI 'False)
 U1)
                                     p_a2U6)))
                  (@ (arg_X1QO :: U1 p_X2U5))
                  (dt_a35M [Occ=Once]
                     :: SameKind
                          (Apply
                             (From1U1Sym0 |> (TyFun
                                                <U1 p_X2U5>_N
                                                (Sym (Sym (Rep1_U1[0]
 <k_X2TZ>_N) <p_X2U5>_N)))_N
                                             ->_N <*>_N)
                             arg_X1QO)
                          (From1U1 arg_X1QO |> Sym (Sym (Rep1_U1[0]
                                                             <k_X2TZ>_N)
 <p_X2U5>_N))) ->
                  From1Sym0KindInference
                    @ k_a2U5
                    @ p_a2U6
                    @ k_a2U7
                    @ (z_X1QM |> (TyFun
                                    <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                    @ k_X2TZ
                    @ p_X2U5
                    @ z_X1QM
                    @ arg_X1QO
                    @~ (<(z_X1QM |> (TyFun
                                       <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)>_N
                        :: (z_X1QM |> (TyFun
                                         <U1 p_a2U6>_N (Sym (Rep1_U1[0]
 <k_a2U7>_N) <p_a2U6>_N))_N)
                           ~# (z_X1QM |> (TyFun
                                            <U1 p_a2U6>_N
                                            (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N))
                    dt_a35M}]
 $WFrom1Sym0KindInference
   = \ (@ k_X2TZ)
       (@ (p_X2U5 :: k_X2TZ))
       (@ k_a2U5)
       (@ k_a2U7)
       (@ (p_a2U6 :: k_a2U5))
       (@ (z_X1QM :: TyFun
                       (U1 p_a2U6)
                       (M1
                          D
                          ('MetaData "U1" "GHC.Generics" "base" 'False)
                          (C1 ('MetaCons "U1" 'PrefixI 'False) U1)
                          p_a2U6)))
       (@ (arg_X1QO :: U1 p_X2U5))
       (dt_a35M [Occ=Once]
          :: SameKind
               (Apply
                  (From1U1Sym0 |> (TyFun
                                     <U1 p_X2U5>_N (Sym (Sym (Rep1_U1[0]
 <k_X2TZ>_N) <p_X2U5>_N)))_N
                                  ->_N <*>_N)
                  arg_X1QO)
               (From1U1 arg_X1QO |> Sym (Sym (Rep1_U1[0]
                                                  <k_X2TZ>_N) <p_X2U5>_N)))
 ->
       From1Sym0KindInference
         @ k_a2U5
         @ p_a2U6
         @ k_a2U7
         @ (z_X1QM |> (TyFun
                         <U1 p_a2U6>_N (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
         @ k_X2TZ
         @ p_X2U5
         @ z_X1QM
         @ arg_X1QO
         @~ (<(z_X1QM |> (TyFun
                            <U1 p_a2U6>_N (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)>_N
             :: (z_X1QM |> (TyFun
                              <U1 p_a2U6>_N (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N)
                ~# (z_X1QM |> (TyFun
                                 <U1 p_a2U6>_N (Sym (Rep1_U1[0] <k_a2U7>_N)
 <p_a2U6>_N))_N))
         dt_a35M

 $trModule1_r36E :: Addr#
 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
 $trModule1_r36E = "main"#

 $trModule2_r36Q :: TrName
 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
 $trModule2_r36Q = TrNameS $trModule1_r36E

 $trModule3_r36R :: Addr#
 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
 $trModule3_r36R = "Bug"#

 $trModule4_r36S :: TrName
 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
 $trModule4_r36S = TrNameS $trModule3_r36R

 $trModule :: Module
 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
 $trModule = Module $trModule2_r36Q $trModule4_r36S

 $tcTyFun1_r36T :: Addr#
 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
 $tcTyFun1_r36T = "TyFun"#

 $tcTyFun2_r36U :: TrName
 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
 $tcTyFun2_r36U = TrNameS $tcTyFun1_r36T

 $tcTyFun :: TyCon
 [GblId, Unf=OtherCon []]
 $tcTyFun
   = TyCon
       8840097126617362261##
       15320025594455375939##
       $trModule
       $tcTyFun2_r36U
       0#
       krep$*->*->*

 *** End of Offense ***


 <no location info>: error:
 Compilation had errors
 }}}

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


More information about the ghc-tickets mailing list