id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
2728,T2627 profasm/profc: Kinds don't match in type application,igloo,,"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)
}}}
",bug,closed,normal,6.10.1,Compiler,6.10.1,fixed,,,Unknown/Multiple,Unknown/Multiple,,Unknown,T2627,,,
