Skip to content

T2627 profasm/profc: Kinds don't match in type application

T2627 profasm/profc is getting a lint failure:

=====> T2627(profasm)
cd ./indexed-types/should_compile && '/64playpen/buildbot/x86_64-linux-stable/build/ghc/stage2-inplace/ghc' -fforce-recomp -dcore-lint -dcmm-lint -Dx86_64_unknown_linux  -dno-debug-output -c T2627.hs -O -prof -auto-all -fasm   >T2627.comp.stderr 2>&1
Compile failed (status 256) errors were:
*** Core Lint Errors: in result of Worker Wrapper binds ***
<no location info>:
    In the expression: (\ (@ a_akP)
                          (@ b_akQ)
                          (@ $coDual_alQ)
                          (@ $coDual_alR)
                          (ds_dmA [ALWAYS Just S] :: T2627.Comm a_akP)
                          (ds_dmB [ALWAYS Just S] :: T2627.Comm b_akQ) ->
                          __scc {conn main:T2627}
                          case ds_dmA of wild_B1 [ALWAYS Just A] {
                            T2627.Rd @ a_akW @ b_akX @ $co$_alf k_ag6 [ALWAYS Just C(S)] ->
                              case ds_dmB of wild_Xp [ALWAYS Just A] {
                                __DEFAULT -> fail_sn8;
                                T2627.Wr @ a_akY
                                         @ b_akZ
                                         @ $co$_al5
                                         a_ag8 [ALWAYS Just L]
                                         r_aga [ALWAYS Just S] ->
                                  T2627.conn
                                    @ b_akX
                                    @ b_akZ
                                    @ (trans
                                         (trans
                                            (T2627.Dual b_akX)
                                            (trans
                                               (trans
                                                  (T2627.Dual b_akX)
                                                  (trans
                                                     (trans
                                                        (T2627.Dual b_akX)
                                                        (trans
                                                           (trans
                                                              (T2627.Dual
                                                                 (right
                                                                    (trans
                                                                       (sym $co$_alf)
                                                                       (trans
                                                                          (trans
                                                                             (sym $coDual_alR)
                                                                             (T2627.Dual $co$_al5))
                                                                          (a_akY
                                                                           T2627.:CoF:R1Dual b_akZ)))))
                                                              (T2627.Dual (T2627.Dual b_akZ)))
                                                           (trans
                                                              (trans
                                                                 (T2627.Dual (T2627.Dual b_akZ))
                                                                 (trans
                                                                    (right
                                                                       (trans
                                                                          (trans
                                                                             (sym
                                                                                (a_akW
                                                                                 T2627.:CoF:R2Dual T2627.Dual
                                                                                                     b_akZ))
                                                                             (trans
                                                                                (T2627.Dual
                                                                                   (T2627.R
                                                                                      (right
                                                                                         (left
                                                                                            (trans
                                                                                               (sym
                                                                                                  $co$_alf)
                                                                                               (trans
                                                                                                  (trans
                                                                                                     (sym
                                                                                                        $coDual_alR)
                                                                                                     (T2627.Dual
                                                                                                        $co$_al5))
                                                                                                  (a_akY
                                                                                                   T2627.:CoF:R1Dual b_akZ)))))
                                                                                      (T2627.Dual
                                                                                         b_akZ)))
                                                                                (trans
                                                                                   (T2627.Dual
                                                                                      (trans
                                                                                         (sym
                                                                                            (a_akY
                                                                                             T2627.:CoF:R1Dual b_akZ))
                                                                                         (trans
                                                                                            (T2627.Dual
                                                                                               (sym
                                                                                                  $co$_al5))
                                                                                            $coDual_alR)))
                                                                                   $coDual_alQ)))
                                                                          $co$_al5))
                                                                    b_akZ))
                                                              b_akZ)))
                                                     b_akZ))
                                               b_akZ))
                                         b_akZ)
                                    @ (trans
                                         (trans
                                            (T2627.Dual b_akZ)
                                            (trans
                                               (trans
                                                  (T2627.Dual b_akZ)
                                                  (trans
                                                     (trans
                                                        (T2627.Dual b_akZ)
                                                        (trans
                                                           (T2627.Dual b_akZ)
                                                           (trans
                                                              (trans
                                                                 (T2627.Dual b_akZ)
                                                                 (trans
                                                                    (right
                                                                       (trans
                                                                          (trans
                                                                             (sym
                                                                                (a_akY
                                                                                 T2627.:CoF:R1Dual b_akZ))
                                                                             (trans
                                                                                (T2627.Dual
                                                                                   (sym $co$_al5))
                                                                                $coDual_alR))
                                                                          $co$_alf))
                                                                    b_akX))
                                                              b_akX)))
                                                     b_akX))
                                               b_akX))
                                         b_akX)
                                    (k_ag6
                                       (a_ag8
                                        `cast` (trans
                                                  (trans
                                                     a_akY
                                                     (trans
                                                        (trans
                                                           a_akY
                                                           (trans
                                                              (trans
                                                                 a_akY
                                                                 (trans
                                                                    (trans
                                                                       a_akY
                                                                       (trans
                                                                          (right
                                                                             (left
                                                                                (trans
                                                                                   (trans
                                                                                      (sym
                                                                                         (a_akY
                                                                                          T2627.:CoF:R1Dual b_akZ))
                                                                                      (trans
                                                                                         (T2627.Dual
                                                                                            (sym
                                                                                               $co$_al5))
                                                                                         $coDual_alR))
                                                                                   $co$_alf)))
                                                                          a_akW))
                                                                    a_akW))
                                                              a_akW))
                                                        a_akW))
                                                  a_akW
                                                :: a_akY ~ a_akW)))
                                    r_aga
                              };
                            T2627.Wr @ a_all
                                     @ b_alm
                                     @ $co$_alI
                                     a_agc [ALWAYS Just L]
                                     r_age [ALWAYS Just S] ->
                              case ds_dmB of wild_Xq [ALWAYS Just A] {
                                __DEFAULT -> fail_sn8;
                                T2627.Rd @ a_aln @ b_alo @ $co$_alu k_agg [ALWAYS Just C(S)] ->
                                  T2627.conn
                                    @ b_alm
                                    @ b_alo
                                    @ (trans
                                         (trans
                                            (T2627.Dual b_alm)
                                            (trans
                                               (trans
                                                  (T2627.Dual b_alm)
                                                  (trans
                                                     (trans
                                                        (T2627.Dual b_alm)
                                                        (trans
                                                           (trans
                                                              (T2627.Dual
                                                                 (right
                                                                    (trans
                                                                       (sym $co$_alI)
                                                                       (trans
                                                                          (trans
                                                                             (sym $coDual_alR)
                                                                             (T2627.Dual $co$_alu))
                                                                          (a_aln
                                                                           T2627.:CoF:R2Dual b_alo)))))
                                                              (T2627.Dual (T2627.Dual b_alo)))
                                                           (trans
                                                              (trans
                                                                 (T2627.Dual (T2627.Dual b_alo))
                                                                 (trans
                                                                    (right
                                                                       (trans
                                                                          (trans
                                                                             (sym
                                                                                (a_all
                                                                                 T2627.:CoF:R1Dual T2627.Dual
                                                                                                     b_alo))
                                                                             (trans
                                                                                (T2627.Dual
                                                                                   (T2627.W
                                                                                      (right
                                                                                         (left
                                                                                            (trans
                                                                                               (sym
                                                                                                  $co$_alI)
                                                                                               (trans
                                                                                                  (trans
                                                                                                     (sym
                                                                                                        $coDual_alR)
                                                                                                     (T2627.Dual
                                                                                                        $co$_alu))
                                                                                                  (a_aln
                                                                                                   T2627.:CoF:R2Dual b_alo)))))
                                                                                      (T2627.Dual
                                                                                         b_alo)))
                                                                                (trans
                                                                                   (T2627.Dual
                                                                                      (trans
                                                                                         (sym
                                                                                            (a_aln
                                                                                             T2627.:CoF:R2Dual b_alo))
                                                                                         (trans
                                                                                            (T2627.Dual
                                                                                               (sym
                                                                                                  $co$_alu))
                                                                                            $coDual_alR)))
                                                                                   $coDual_alQ)))
                                                                          $co$_alu))
                                                                    b_alo))
                                                              b_alo)))
                                                     b_alo))
                                               b_alo))
                                         b_alo)
                                    @ (trans
                                         (trans
                                            (T2627.Dual b_alo)
                                            (trans
                                               (trans
                                                  (T2627.Dual b_alo)
                                                  (trans
                                                     (trans
                                                        (T2627.Dual b_alo)
                                                        (trans
                                                           (T2627.Dual b_alo)
                                                           (trans
                                                              (trans
                                                                 (T2627.Dual b_alo)
                                                                 (trans
                                                                    (right
                                                                       (trans
                                                                          (trans
                                                                             (sym
                                                                                (a_aln
                                                                                 T2627.:CoF:R2Dual b_alo))
                                                                             (trans
                                                                                (T2627.Dual
                                                                                   (sym $co$_alu))
                                                                                $coDual_alR))
                                                                          $co$_alI))
                                                                    b_alm))
                                                              b_alm)))
                                                     b_alm))
                                               b_alm))
                                         b_alm)
                                    r_age
                                    (k_agg
                                       (a_agc
                                        `cast` (trans
                                                  (trans
                                                     a_all
                                                     (sym
                                                        (sym
                                                           (trans
                                                              (trans
                                                                 a_all
                                                                 (sym
                                                                    (sym
                                                                       (trans
                                                                          (trans
                                                                             a_all
                                                                             (sym
                                                                                (sym
                                                                                   (trans
                                                                                      (trans
                                                                                         a_all
                                                                                         (sym
                                                                                            (trans
                                                                                               (right
                                                                                                  (left
                                                                                                     (trans
                                                                                                        (trans
                                                                                                           (sym
                                                                                                              (a_aln
                                                                                                               T2627.:CoF:R2Dual b_alo))
                                                                                                           (trans
                                                                                                              (T2627.Dual
                                                                                                                 (sym
                                                                                                                    $co$_alu))
                                                                                                              $coDual_alR))
                                                                                                        $co$_alI)))
                                                                                               (sym
                                                                                                  a_all))))
                                                                                      a_aln))))
                                                                          a_aln))))
                                                              a_aln))))
                                                  a_aln
                                                :: a_all ~ a_aln)))
                              };
                            T2627.Fin @ $co$_akV x_ag2 [ALWAYS Just L] ->
                              case ds_dmB of wild_Xn [ALWAYS Just A] {
                                __DEFAULT -> fail_sn8;
                                T2627.Fin @ $co$_akU y_ag4 [ALWAYS Just L] -> (x_ag2, y_ag4)
                              }
                          })
                         @ a_afZ @ b_ag0 @ co_wild_B1
    Kinds don't match in type application:
    Type variable: $coDual_alQ :: T2627.Dual a_afZ ~ b_ag0
    Arg type: co_wild_Xb :: T2627.Dual b_ag0 ~ a_afZ
*** Offending Program ***
T2627.$WRd :: forall a_afH b_afI.
              (a_afH -> T2627.Comm b_afI) -> T2627.Comm (T2627.R a_afH b_afI)
[DataConWrapper]
[Arity 1
 NoCafRefs
 Str: DmdType L]
T2627.$WRd =
  __inline_me (\ (@ a_afH)
                 (@ b_afI)
                 (tpl_B1 [ALWAYS Just L] :: a_afH -> T2627.Comm b_afI) ->
                 T2627.Rd
                   @ (T2627.R a_afH b_afI)
                   @ a_afH
                   @ b_afI
                   @ (T2627.R a_afH b_afI)
                   tpl_B1)

T2627.$WWr :: forall a_afK b_afL.
              a_afK -> T2627.Comm b_afL -> T2627.Comm (T2627.W a_afK b_afL)
[DataConWrapper]
[Arity 2
 NoCafRefs
 Str: DmdType LL]
T2627.$WWr =
  __inline_me (\ (@ a_afK)
                 (@ b_afL)
                 (tpl_B1 [ALWAYS Just L] :: a_afK)
                 (tpl_B2 [ALWAYS Just L] :: T2627.Comm b_afL) ->
                 T2627.Wr
                   @ (T2627.W a_afK b_afL)
                   @ a_afK
                   @ b_afL
                   @ (T2627.W a_afK b_afL)
                   tpl_B1
                   tpl_B2)

T2627.$WFin :: GHC.Types.Int -> T2627.Comm T2627.Z
[DataConWrapper]
[Arity 1
 NoCafRefs
 Str: DmdType L]
T2627.$WFin = __inline_me (T2627.Fin @ T2627.Z @ T2627.Z)

fail_sn8 :: (GHC.Types.Int, GHC.Types.Int)
[Str: DmdType b]
fail_sn8 =
  __scc {conn main:T2627 !}
  Control.Exception.Base.patError
    @ (GHC.Types.Int, GHC.Types.Int)
    "T2627.hs:(20,0)-(22,34)|function conn"

Rec {
$wconn_snA :: forall a_afZ b_ag0.
              (T2627.Dual a_afZ ~ b_ag0, T2627.Dual b_ag0 ~ a_afZ) =>
              T2627.Comm a_afZ
              -> T2627.Comm b_ag0
              -> (# GHC.Types.Int, GHC.Types.Int #)
[Arity 2
 Str: DmdType SS]
$wconn_snA =
  \ (@ a_afZ)
    (@ b_ag0)
    (@ co_wild_B1)
    (@ co_wild_B1)
    (w_snv [ALWAYS Just S] :: T2627.Comm a_afZ)
    (w_snw [ALWAYS Just S] :: T2627.Comm b_ag0) ->
    case (\ (@ a_akP)
            (@ b_akQ)
            (@ $coDual_alQ)
            (@ $coDual_alR)
            (ds_dmA [ALWAYS Just S] :: T2627.Comm a_akP)
            (ds_dmB [ALWAYS Just S] :: T2627.Comm b_akQ) ->
            __scc {conn main:T2627}
            case ds_dmA of wild_B1 [ALWAYS Just A] {
              T2627.Rd @ a_akW @ b_akX @ $co$_alf k_ag6 [ALWAYS Just C(S)] ->
                case ds_dmB of wild_Xp [ALWAYS Just A] {
                  __DEFAULT -> fail_sn8;
                  T2627.Wr @ a_akY
                           @ b_akZ
                           @ $co$_al5
                           a_ag8 [ALWAYS Just L]
                           r_aga [ALWAYS Just S] ->
                    T2627.conn
                      @ b_akX
                      @ b_akZ
                      @ (trans
                           (trans
                              (T2627.Dual b_akX)
                              (trans
                                 (trans
                                    (T2627.Dual b_akX)
                                    (trans
                                       (trans
                                          (T2627.Dual b_akX)
                                          (trans
                                             (trans
                                                (T2627.Dual
                                                   (right
                                                      (trans
                                                         (sym $co$_alf)
                                                         (trans
                                                            (trans
                                                               (sym $coDual_alR)
                                                               (T2627.Dual $co$_al5))
                                                            (a_akY T2627.:CoF:R1Dual b_akZ)))))
                                                (T2627.Dual (T2627.Dual b_akZ)))
                                             (trans
                                                (trans
                                                   (T2627.Dual (T2627.Dual b_akZ))
                                                   (trans
                                                      (right
                                                         (trans
                                                            (trans
                                                               (sym
                                                                  (a_akW
                                                                   T2627.:CoF:R2Dual T2627.Dual
                                                                                       b_akZ))
                                                               (trans
                                                                  (T2627.Dual
                                                                     (T2627.R
                                                                        (right
                                                                           (left
                                                                              (trans
                                                                                 (sym $co$_alf)
                                                                                 (trans
                                                                                    (trans
                                                                                       (sym
                                                                                          $coDual_alR)
                                                                                       (T2627.Dual
                                                                                          $co$_al5))
                                                                                    (a_akY
                                                                                     T2627.:CoF:R1Dual b_akZ)))))
                                                                        (T2627.Dual b_akZ)))
                                                                  (trans
                                                                     (T2627.Dual
                                                                        (trans
                                                                           (sym
                                                                              (a_akY
                                                                               T2627.:CoF:R1Dual b_akZ))
                                                                           (trans
                                                                              (T2627.Dual
                                                                                 (sym $co$_al5))
                                                                              $coDual_alR)))
                                                                     $coDual_alQ)))
                                                            $co$_al5))
                                                      b_akZ))
                                                b_akZ)))
                                       b_akZ))
                                 b_akZ))
                           b_akZ)
                      @ (trans
                           (trans
                              (T2627.Dual b_akZ)
                              (trans
                                 (trans
                                    (T2627.Dual b_akZ)
                                    (trans
                                       (trans
                                          (T2627.Dual b_akZ)
                                          (trans
                                             (T2627.Dual b_akZ)
                                             (trans
                                                (trans
                                                   (T2627.Dual b_akZ)
                                                   (trans
                                                      (right
                                                         (trans
                                                            (trans
                                                               (sym (a_akY T2627.:CoF:R1Dual b_akZ))
                                                               (trans
                                                                  (T2627.Dual (sym $co$_al5))
                                                                  $coDual_alR))
                                                            $co$_alf))
                                                      b_akX))
                                                b_akX)))
                                       b_akX))
                                 b_akX))
                           b_akX)
                      (k_ag6
                         (a_ag8
                          `cast` (trans
                                    (trans
                                       a_akY
                                       (trans
                                          (trans
                                             a_akY
                                             (trans
                                                (trans
                                                   a_akY
                                                   (trans
                                                      (trans
                                                         a_akY
                                                         (trans
                                                            (right
                                                               (left
                                                                  (trans
                                                                     (trans
                                                                        (sym
                                                                           (a_akY
                                                                            T2627.:CoF:R1Dual b_akZ))
                                                                        (trans
                                                                           (T2627.Dual
                                                                              (sym $co$_al5))
                                                                           $coDual_alR))
                                                                     $co$_alf)))
                                                            a_akW))
                                                      a_akW))
                                                a_akW))
                                          a_akW))
                                    a_akW
                                  :: a_akY ~ a_akW)))
                      r_aga
                };
              T2627.Wr @ a_all
                       @ b_alm
                       @ $co$_alI
                       a_agc [ALWAYS Just L]
                       r_age [ALWAYS Just S] ->
                case ds_dmB of wild_Xq [ALWAYS Just A] {
                  __DEFAULT -> fail_sn8;
                  T2627.Rd @ a_aln @ b_alo @ $co$_alu k_agg [ALWAYS Just C(S)] ->
                    T2627.conn
                      @ b_alm
                      @ b_alo
                      @ (trans
                           (trans
                              (T2627.Dual b_alm)
                              (trans
                                 (trans
                                    (T2627.Dual b_alm)
                                    (trans
                                       (trans
                                          (T2627.Dual b_alm)
                                          (trans
                                             (trans
                                                (T2627.Dual
                                                   (right
                                                      (trans
                                                         (sym $co$_alI)
                                                         (trans
                                                            (trans
                                                               (sym $coDual_alR)
                                                               (T2627.Dual $co$_alu))
                                                            (a_aln T2627.:CoF:R2Dual b_alo)))))
                                                (T2627.Dual (T2627.Dual b_alo)))
                                             (trans
                                                (trans
                                                   (T2627.Dual (T2627.Dual b_alo))
                                                   (trans
                                                      (right
                                                         (trans
                                                            (trans
                                                               (sym
                                                                  (a_all
                                                                   T2627.:CoF:R1Dual T2627.Dual
                                                                                       b_alo))
                                                               (trans
                                                                  (T2627.Dual
                                                                     (T2627.W
                                                                        (right
                                                                           (left
                                                                              (trans
                                                                                 (sym $co$_alI)
                                                                                 (trans
                                                                                    (trans
                                                                                       (sym
                                                                                          $coDual_alR)
                                                                                       (T2627.Dual
                                                                                          $co$_alu))
                                                                                    (a_aln
                                                                                     T2627.:CoF:R2Dual b_alo)))))
                                                                        (T2627.Dual b_alo)))
                                                                  (trans
                                                                     (T2627.Dual
                                                                        (trans
                                                                           (sym
                                                                              (a_aln
                                                                               T2627.:CoF:R2Dual b_alo))
                                                                           (trans
                                                                              (T2627.Dual
                                                                                 (sym $co$_alu))
                                                                              $coDual_alR)))
                                                                     $coDual_alQ)))
                                                            $co$_alu))
                                                      b_alo))
                                                b_alo)))
                                       b_alo))
                                 b_alo))
                           b_alo)
                      @ (trans
                           (trans
                              (T2627.Dual b_alo)
                              (trans
                                 (trans
                                    (T2627.Dual b_alo)
                                    (trans
                                       (trans
                                          (T2627.Dual b_alo)
                                          (trans
                                             (T2627.Dual b_alo)
                                             (trans
                                                (trans
                                                   (T2627.Dual b_alo)
                                                   (trans
                                                      (right
                                                         (trans
                                                            (trans
                                                               (sym (a_aln T2627.:CoF:R2Dual b_alo))
                                                               (trans
                                                                  (T2627.Dual (sym $co$_alu))
                                                                  $coDual_alR))
                                                            $co$_alI))
                                                      b_alm))
                                                b_alm)))
                                       b_alm))
                                 b_alm))
                           b_alm)
                      r_age
                      (k_agg
                         (a_agc
                          `cast` (trans
                                    (trans
                                       a_all
                                       (sym
                                          (sym
                                             (trans
                                                (trans
                                                   a_all
                                                   (sym
                                                      (sym
                                                         (trans
                                                            (trans
                                                               a_all
                                                               (sym
                                                                  (sym
                                                                     (trans
                                                                        (trans
                                                                           a_all
                                                                           (sym
                                                                              (trans
                                                                                 (right
                                                                                    (left
                                                                                       (trans
                                                                                          (trans
                                                                                             (sym
                                                                                                (a_aln
                                                                                                 T2627.:CoF:R2Dual b_alo))
                                                                                             (trans
                                                                                                (T2627.Dual
                                                                                                   (sym
                                                                                                      $co$_alu))
                                                                                                $coDual_alR))
                                                                                          $co$_alI)))
                                                                                 (sym a_all))))
                                                                        a_aln))))
                                                            a_aln))))
                                                a_aln))))
                                    a_aln
                                  :: a_all ~ a_aln)))
                };
              T2627.Fin @ $co$_akV x_ag2 [ALWAYS Just L] ->
                case ds_dmB of wild_Xn [ALWAYS Just A] {
                  __DEFAULT -> fail_sn8;
                  T2627.Fin @ $co$_akU y_ag4 [ALWAYS Just L] -> (x_ag2, y_ag4)
                }
            })
           @ a_afZ @ b_ag0 @ co_wild_B1 @ co_wild_B1 w_snv w_snw
    of ww_snC { (ww_snD, ww_snE) ->
    (# ww_snD, ww_snE #)
    }
T2627.conn [ALWAYS LoopBreaker Nothing] :: forall a_afZ b_ag0.
                                           (T2627.Dual a_afZ ~ b_ag0, T2627.Dual b_ag0 ~ a_afZ) =>
                                           T2627.Comm a_afZ
                                           -> T2627.Comm b_ag0
                                           -> (GHC.Types.Int, GHC.Types.Int)
[Exported]
[Arity 2
 Worker $wconn_snA
 Str: DmdType SSm]
T2627.conn =
  __inline_me (\ (@ a_afZ)
                 (@ b_ag0)
                 (@ co_wild_B1)
                 (@ co_wild_B1)
                 (w_snv [ALWAYS Just S] :: T2627.Comm a_afZ)
                 (w_snw [ALWAYS Just S] :: T2627.Comm b_ag0) ->
                 case $wconn_snA
                        @ a_afZ @ b_ag0 @ co_wild_B1 @ co_wild_B1 w_snv w_snw
                 of ww_snB { (# ww_snD, ww_snE #) ->
                 (ww_snD, ww_snE)
                 })
end Rec }

*** End of Offense ***


<no location info>: 
Compilation had errors



*** unexpected failure for T2627(profasm)
Trac metadata
Trac field Value
Version 6.10.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information