Skip to content

EtaExpandLevPoly triggers a core lint error in profasm/profthreaded ways

Against 8b823f27:

$ make fulltest TEST=EtaExpandLevPoly
[...]
=====> EtaExpandLevPoly(normal) 1 of 1 [0, 0, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  
cd "./typecheck/should_run/EtaExpandLevPoly.run" && ./EtaExpandLevPoly  
=====> EtaExpandLevPoly(hpc) 1 of 1 [0, 0, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  -O -fhpc 
cd "./typecheck/should_run/EtaExpandLevPoly.run" && ./EtaExpandLevPoly  
=====> EtaExpandLevPoly(optasm) 1 of 1 [0, 0, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  -O -fasm 
cd "./typecheck/should_run/EtaExpandLevPoly.run" && ./EtaExpandLevPoly  
=====> EtaExpandLevPoly(profasm) 1 of 1 [0, 0, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  -O -prof -static -fprof-auto 
Compile failed (exit code 1) errors were:
[1 of 1] Compiling Main             ( EtaExpandLevPoly.hs, EtaExpandLevPoly.o )
*** Core Lint errors : in result of Simplifier ***
<no location info>: warning:
    In the type ((# Bool, Int# #) |> Sym (TYPE (Sym co_a1ww))_N)
    co_a1ww
      :: (a_a1wt :: RuntimeRep)
         ~# ('TupleRep '['LiftedRep, 'IntRep] :: RuntimeRep)
    [LclId[CoVarId]] is out of scope
*** Offending Program ***
foo :: forall b. G 'LiftedRep -> b -> b
[LclIdX,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)}]
foo
  = \ (@ (a_a1wt :: RuntimeRep))
      (@ (b_a1wu :: TYPE a_a1wt))
      (ds_d1Pr :: G a_a1wt) ->
      scctick<foo>
      case ds_d1Pr of { MkG co_a1ww ->
      \ (x_a10m :: (b_a1wu |> Sym (TYPE (Sym co_a1ww))_N)) ->
        tick<foo.\> x_a10m
      }

bar
  :: forall a.
     H 'LiftedRep -> (a -> a -> (# a, a #)) -> a -> (# a, a #)
[LclIdX,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 60 60}]
bar
  = \ (@ (r_a1vB :: RuntimeRep))
      (@ (a_a1vC :: TYPE r_a1vB))
      (ds_d1Pk :: H r_a1vB) ->
      scctick<bar>
      case ds_d1Pk of { MkH co_a1vE ->
      (\ (f_a10o
            :: (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N)
               -> (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N)
               -> (# (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N),
                     (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N) #))
         (x_a10p :: (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N)) ->
         scctick<bar.\> f_a10o x_a10p x_a10p)
      `cast` ((Coh <a_a1vC>_R (TYPE co_a1vE)_N
               ->_R Coh <a_a1vC>_R (TYPE co_a1vE)_N
               ->_R ((#,#)
                       (Sub (Sym co_a1vE))
                       (Sub (Sym co_a1vE))
                       (Coh <a_a1vC>_R (TYPE co_a1vE)_N)
                       (Coh <a_a1vC>_R (TYPE co_a1vE)_N))_R)
              ->_R Coh <a_a1vC>_R (TYPE co_a1vE)_N
              ->_R ((#,#)
                      (Sub (Sym co_a1vE))
                      (Sub (Sym co_a1vE))
                      (Coh <a_a1vC>_R (TYPE co_a1vE)_N)
                      (Coh <a_a1vC>_R (TYPE co_a1vE)_N))_R
              :: (((a_a1vC |> (TYPE co_a1vE)_N)
                   -> (a_a1vC |> (TYPE co_a1vE)_N)
                   -> (# (a_a1vC |> (TYPE co_a1vE)_N),
                         (a_a1vC |> (TYPE co_a1vE)_N) #))
                  -> (a_a1vC |> (TYPE co_a1vE)_N)
                  -> (# (a_a1vC |> (TYPE co_a1vE)_N),
                        (a_a1vC |> (TYPE co_a1vE)_N) #) :: *)
                 ~R# ((a_a1vC -> a_a1vC -> (# a_a1vC, a_a1vC #))
                      -> a_a1vC -> (# a_a1vC, a_a1vC #) :: *))
      }

$trModule_s245 :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule_s245 = "main"#

$trModule_s246 :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule_s246 = TrNameS $trModule_s245

$trModule_s247 :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule_s247 = "Main"#

$trModule_s248 :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule_s248 = TrNameS $trModule_s247

$trModule :: Module
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$trModule = Module $trModule_s246 $trModule_s248

$krep_a1P3 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P3 = KindRepTyConApp $tc'LiftedRep ([] @ KindRep)

$krep_a1OZ [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OZ = KindRepTyConApp $tc'IntRep ([] @ KindRep)

$krep_a1OX [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OX = KindRepTyConApp $tcRuntimeRep ([] @ KindRep)

$krep_a1OW [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OW = KindRepFun $krep_a1OX krep$*

$krep_s249 :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s249 = : @ KindRep $krep_a1OX ([] @ KindRep)

$krep_a1P5 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P5 = KindRepTyConApp $tc'[] $krep_s249

$krep_s24a :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24a = : @ KindRep $krep_a1P5 ([] @ KindRep)

$krep_s24b :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24b = : @ KindRep $krep_a1OZ $krep_s24a

$krep_s24c :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24c = : @ KindRep $krep_a1OX $krep_s24b

$krep_a1P4 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P4 = KindRepTyConApp $tc': $krep_s24c

$krep_s24d :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24d = : @ KindRep $krep_a1P4 ([] @ KindRep)

$krep_s24e :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24e = : @ KindRep $krep_a1P3 $krep_s24d

$krep_s24f :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24f = : @ KindRep $krep_a1OX $krep_s24e

$krep_a1P2 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P2 = KindRepTyConApp $tc': $krep_s24f

$krep_s24g :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24g = : @ KindRep $krep_a1P2 ([] @ KindRep)

$krep_a1P1 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P1 = KindRepTyConApp $tc'TupleRep $krep_s24g

$tcG_s24h :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tcG_s24h = "G"#

$tcG_s24i :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tcG_s24i = TrNameS $tcG_s24h

$tcG :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tcG
  = TyCon
      14221008574166376522##
      17210926818700297107##
      $trModule
      $tcG_s24i
      0#
      $krep_a1OW

$krep_s24j :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24j = : @ KindRep $krep_a1P1 ([] @ KindRep)

$krep_a1P0 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P0 = KindRepTyConApp $tcG $krep_s24j

$tc'MkG_s24k :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tc'MkG_s24k = "'MkG"#

$tc'MkG_s24l :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tc'MkG_s24l = TrNameS $tc'MkG_s24k

$tc'MkG :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tc'MkG
  = TyCon
      11219666876303220503##
      4566534404187760096##
      $trModule
      $tc'MkG_s24l
      0#
      $krep_a1P0

$tcH_s24m :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tcH_s24m = "H"#

$tcH_s24n :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tcH_s24n = TrNameS $tcH_s24m

$tcH :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tcH
  = TyCon
      5827673930009354874##
      4277163490596771739##
      $trModule
      $tcH_s24n
      0#
      $krep_a1OW

$krep_s24o :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24o = : @ KindRep $krep_a1OZ ([] @ KindRep)

$krep_a1OY [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OY = KindRepTyConApp $tcH $krep_s24o

$tc'MkH_s24p :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tc'MkH_s24p = "'MkH"#

$tc'MkH_s24q :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tc'MkH_s24q = TrNameS $tc'MkH_s24p

$tc'MkH :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tc'MkH
  = TyCon
      273175143458456096##
      17487285292499736820##
      $trModule
      $tc'MkH_s24q
      0#
      $krep_a1OY

main :: IO ()
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 510 0}]
main
  = scctick<main>
    case (tick<foo>
          \ (x_a10m :: ((# Bool, Int# #) |> Sym (TYPE (Sym co_a1ww))_N)) ->
            scc<foo> tick<foo.\> x_a10m)
           (# True, 3# #)
    of ds_d23V
    { (# ipv_s24s, ipv_s24t #) ->
    (\ (s_a24P :: State# RealWorld) ->
       case ((hPutStr' stdout ($fShowBool_$cshow ipv_s24s) True)
             `cast` (N:IO[0] <()>_R
                     :: (IO () :: *)
                        ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
              s_a24P
       of
       { (# ipv_a24S, ipv1_a24T #) ->
       case ((hPutStr'
                stdout (showSignedInt $fShow(,)1 (I# ipv_s24t) ([] @ Char)) True)
             `cast` (N:IO[0] <()>_R
                     :: (IO () :: *)
                        ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
              ipv_a24S
       of
       { (# ipv_X265, ipv1_X267 #) ->
       ((case (scctick<bar>
               case $WMkH of { MkH co_a1vE ->
               \ (f_a10o :: Int# -> Int# -> (# Int#, Int# #)) (x_a10p :: Int#) ->
                 scctick<bar.\> f_a10o x_a10p x_a10p
               })
                ((#,#) @ 'IntRep @ 'IntRep @ Int# @ Int#) 8#
         of ds_d23T
         { (# ipv_s25y, ipv_s25z #) ->
         (\ (s_X26d :: State# RealWorld) ->
            case ((hPutStr'
                     stdout (showSignedInt $fShow(,)1 (I# ipv_s25y) ([] @ Char)) True)
                  `cast` (N:IO[0] <()>_R
                          :: (IO () :: *)
                             ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
                   s_X26d
            of
            { (# ipv_X26j, ipv1_X26l #) ->
            ((hPutStr'
                stdout (showSignedInt $fShow(,)1 (I# ipv_s25z) ([] @ Char)) True)
             `cast` (N:IO[0] <()>_R
                     :: (IO () :: *)
                        ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
              ipv_X26j
            })
         `cast` (Sym (N:IO[0] <()>_R)
                 :: (State# RealWorld -> (# State# RealWorld, () #) :: *)
                    ~R# (IO () :: *))
         })
        `cast` (N:IO[0] <()>_R
                :: (IO () :: *)
                   ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
         ipv_X265
       }
       })
    `cast` (Sym (N:IO[0] <()>_R)
            :: (State# RealWorld -> (# State# RealWorld, () #) :: *)
               ~R# (IO () :: *))
    }

main_s3to :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s3to = runMainIO1 @ () main

main :: IO ()
[LclIdX,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main
  = main_s3to
    `cast` (Sym (N:IO[0] <()>_R)
            :: (State# RealWorld -> (# State# RealWorld, () #) :: *)
               ~R# (IO () :: *))

*** End of Offense ***


<no location info>: error: 
Compilation had errors



*** unexpected failure for EtaExpandLevPoly(profasm)
=====> EtaExpandLevPoly(threaded1) 1 of 1 [0, 1, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  -threaded -debug 
cd "./typecheck/should_run/EtaExpandLevPoly.run" && ./EtaExpandLevPoly  
=====> EtaExpandLevPoly(threaded2) 1 of 1 [0, 1, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  -O -threaded -eventlog 
cd "./typecheck/should_run/EtaExpandLevPoly.run" && ./EtaExpandLevPoly +RTS -N2 -ls -RTS 
=====> EtaExpandLevPoly(dyn) 1 of 1 [0, 1, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  -O -dynamic 
cd "./typecheck/should_run/EtaExpandLevPoly.run" && ./EtaExpandLevPoly  
=====> EtaExpandLevPoly(profthreaded) 1 of 1 [0, 1, 0]
cd "./typecheck/should_run/EtaExpandLevPoly.run" &&  "/home/alp/ghc-slow-validate/inplace/test   spaces/ghc-stage2" -o EtaExpandLevPoly EtaExpandLevPoly.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  -O -prof -static -fprof-auto -threaded 
Compile failed (exit code 1) errors were:
[1 of 1] Compiling Main             ( EtaExpandLevPoly.hs, EtaExpandLevPoly.o )
*** Core Lint errors : in result of Simplifier ***
<no location info>: warning:
    In the type ((# Bool, Int# #) |> Sym (TYPE (Sym co_a1ww))_N)
    co_a1ww
      :: (a_a1wt :: RuntimeRep)
         ~# ('TupleRep '['LiftedRep, 'IntRep] :: RuntimeRep)
    [LclId[CoVarId]] is out of scope
*** Offending Program ***
foo :: forall b. G 'LiftedRep -> b -> b
[LclIdX,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)}]
foo
  = \ (@ (a_a1wt :: RuntimeRep))
      (@ (b_a1wu :: TYPE a_a1wt))
      (ds_d1Pr :: G a_a1wt) ->
      scctick<foo>
      case ds_d1Pr of { MkG co_a1ww ->
      \ (x_a10m :: (b_a1wu |> Sym (TYPE (Sym co_a1ww))_N)) ->
        tick<foo.\> x_a10m
      }

bar
  :: forall a.
     H 'LiftedRep -> (a -> a -> (# a, a #)) -> a -> (# a, a #)
[LclIdX,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 60 60}]
bar
  = \ (@ (r_a1vB :: RuntimeRep))
      (@ (a_a1vC :: TYPE r_a1vB))
      (ds_d1Pk :: H r_a1vB) ->
      scctick<bar>
      case ds_d1Pk of { MkH co_a1vE ->
      (\ (f_a10o
            :: (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N)
               -> (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N)
               -> (# (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N),
                     (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N) #))
         (x_a10p :: (a_a1vC |> Sym (TYPE (Sym co_a1vE))_N)) ->
         scctick<bar.\> f_a10o x_a10p x_a10p)
      `cast` ((Coh <a_a1vC>_R (TYPE co_a1vE)_N
               ->_R Coh <a_a1vC>_R (TYPE co_a1vE)_N
               ->_R ((#,#)
                       (Sub (Sym co_a1vE))
                       (Sub (Sym co_a1vE))
                       (Coh <a_a1vC>_R (TYPE co_a1vE)_N)
                       (Coh <a_a1vC>_R (TYPE co_a1vE)_N))_R)
              ->_R Coh <a_a1vC>_R (TYPE co_a1vE)_N
              ->_R ((#,#)
                      (Sub (Sym co_a1vE))
                      (Sub (Sym co_a1vE))
                      (Coh <a_a1vC>_R (TYPE co_a1vE)_N)
                      (Coh <a_a1vC>_R (TYPE co_a1vE)_N))_R
              :: (((a_a1vC |> (TYPE co_a1vE)_N)
                   -> (a_a1vC |> (TYPE co_a1vE)_N)
                   -> (# (a_a1vC |> (TYPE co_a1vE)_N),
                         (a_a1vC |> (TYPE co_a1vE)_N) #))
                  -> (a_a1vC |> (TYPE co_a1vE)_N)
                  -> (# (a_a1vC |> (TYPE co_a1vE)_N),
                        (a_a1vC |> (TYPE co_a1vE)_N) #) :: *)
                 ~R# ((a_a1vC -> a_a1vC -> (# a_a1vC, a_a1vC #))
                      -> a_a1vC -> (# a_a1vC, a_a1vC #) :: *))
      }

$trModule_s245 :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule_s245 = "main"#

$trModule_s246 :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule_s246 = TrNameS $trModule_s245

$trModule_s247 :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule_s247 = "Main"#

$trModule_s248 :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule_s248 = TrNameS $trModule_s247

$trModule :: Module
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$trModule = Module $trModule_s246 $trModule_s248

$krep_a1P3 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P3 = KindRepTyConApp $tc'LiftedRep ([] @ KindRep)

$krep_a1OZ [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OZ = KindRepTyConApp $tc'IntRep ([] @ KindRep)

$krep_a1OX [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OX = KindRepTyConApp $tcRuntimeRep ([] @ KindRep)

$krep_a1OW [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OW = KindRepFun $krep_a1OX krep$*

$krep_s249 :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s249 = : @ KindRep $krep_a1OX ([] @ KindRep)

$krep_a1P5 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P5 = KindRepTyConApp $tc'[] $krep_s249

$krep_s24a :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24a = : @ KindRep $krep_a1P5 ([] @ KindRep)

$krep_s24b :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24b = : @ KindRep $krep_a1OZ $krep_s24a

$krep_s24c :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24c = : @ KindRep $krep_a1OX $krep_s24b

$krep_a1P4 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P4 = KindRepTyConApp $tc': $krep_s24c

$krep_s24d :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24d = : @ KindRep $krep_a1P4 ([] @ KindRep)

$krep_s24e :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24e = : @ KindRep $krep_a1P3 $krep_s24d

$krep_s24f :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24f = : @ KindRep $krep_a1OX $krep_s24e

$krep_a1P2 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P2 = KindRepTyConApp $tc': $krep_s24f

$krep_s24g :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24g = : @ KindRep $krep_a1P2 ([] @ KindRep)

$krep_a1P1 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P1 = KindRepTyConApp $tc'TupleRep $krep_s24g

$tcG_s24h :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tcG_s24h = "G"#

$tcG_s24i :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tcG_s24i = TrNameS $tcG_s24h

$tcG :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tcG
  = TyCon
      14221008574166376522##
      17210926818700297107##
      $trModule
      $tcG_s24i
      0#
      $krep_a1OW

$krep_s24j :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24j = : @ KindRep $krep_a1P1 ([] @ KindRep)

$krep_a1P0 [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1P0 = KindRepTyConApp $tcG $krep_s24j

$tc'MkG_s24k :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tc'MkG_s24k = "'MkG"#

$tc'MkG_s24l :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tc'MkG_s24l = TrNameS $tc'MkG_s24k

$tc'MkG :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tc'MkG
  = TyCon
      11219666876303220503##
      4566534404187760096##
      $trModule
      $tc'MkG_s24l
      0#
      $krep_a1P0

$tcH_s24m :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tcH_s24m = "H"#

$tcH_s24n :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tcH_s24n = TrNameS $tcH_s24m

$tcH :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tcH
  = TyCon
      5827673930009354874##
      4277163490596771739##
      $trModule
      $tcH_s24n
      0#
      $krep_a1OW

$krep_s24o :: [KindRep]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_s24o = : @ KindRep $krep_a1OZ ([] @ KindRep)

$krep_a1OY [InlPrag=NOUSERINLINE[~]] :: KindRep
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$krep_a1OY = KindRepTyConApp $tcH $krep_s24o

$tc'MkH_s24p :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$tc'MkH_s24p = "'MkH"#

$tc'MkH_s24q :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tc'MkH_s24q = TrNameS $tc'MkH_s24p

$tc'MkH :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tc'MkH
  = TyCon
      273175143458456096##
      17487285292499736820##
      $trModule
      $tc'MkH_s24q
      0#
      $krep_a1OY

main :: IO ()
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 510 0}]
main
  = scctick<main>
    case (tick<foo>
          \ (x_a10m :: ((# Bool, Int# #) |> Sym (TYPE (Sym co_a1ww))_N)) ->
            scc<foo> tick<foo.\> x_a10m)
           (# True, 3# #)
    of ds_d23V
    { (# ipv_s24s, ipv_s24t #) ->
    (\ (s_a24P :: State# RealWorld) ->
       case ((hPutStr' stdout ($fShowBool_$cshow ipv_s24s) True)
             `cast` (N:IO[0] <()>_R
                     :: (IO () :: *)
                        ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
              s_a24P
       of
       { (# ipv_a24S, ipv1_a24T #) ->
       case ((hPutStr'
                stdout (showSignedInt $fShow(,)1 (I# ipv_s24t) ([] @ Char)) True)
             `cast` (N:IO[0] <()>_R
                     :: (IO () :: *)
                        ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
              ipv_a24S
       of
       { (# ipv_X265, ipv1_X267 #) ->
       ((case (scctick<bar>
               case $WMkH of { MkH co_a1vE ->
               \ (f_a10o :: Int# -> Int# -> (# Int#, Int# #)) (x_a10p :: Int#) ->
                 scctick<bar.\> f_a10o x_a10p x_a10p
               })
                ((#,#) @ 'IntRep @ 'IntRep @ Int# @ Int#) 8#
         of ds_d23T
         { (# ipv_s25y, ipv_s25z #) ->
         (\ (s_X26d :: State# RealWorld) ->
            case ((hPutStr'
                     stdout (showSignedInt $fShow(,)1 (I# ipv_s25y) ([] @ Char)) True)
                  `cast` (N:IO[0] <()>_R
                          :: (IO () :: *)
                             ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
                   s_X26d
            of
            { (# ipv_X26j, ipv1_X26l #) ->
            ((hPutStr'
                stdout (showSignedInt $fShow(,)1 (I# ipv_s25z) ([] @ Char)) True)
             `cast` (N:IO[0] <()>_R
                     :: (IO () :: *)
                        ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
              ipv_X26j
            })
         `cast` (Sym (N:IO[0] <()>_R)
                 :: (State# RealWorld -> (# State# RealWorld, () #) :: *)
                    ~R# (IO () :: *))
         })
        `cast` (N:IO[0] <()>_R
                :: (IO () :: *)
                   ~R# (State# RealWorld -> (# State# RealWorld, () #) :: *)))
         ipv_X265
       }
       })
    `cast` (Sym (N:IO[0] <()>_R)
            :: (State# RealWorld -> (# State# RealWorld, () #) :: *)
               ~R# (IO () :: *))
    }

main_s3to :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s3to = runMainIO1 @ () main

main :: IO ()
[LclIdX,
 Arity=1,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main
  = main_s3to
    `cast` (Sym (N:IO[0] <()>_R)
            :: (State# RealWorld -> (# State# RealWorld, () #) :: *)
               ~R# (IO () :: *))

*** End of Offense ***


<no location info>: error: 
Compilation had errors



*** unexpected failure for EtaExpandLevPoly(profthreaded)

Unexpected results from:
TEST="EtaExpandLevPoly"

SUMMARY for test run started at Fri Apr 20 00:34:52 2018 CEST
 0:00:05 spent to go through
       1 total tests, which gave rise to
       9 test cases, of which
       1 were skipped

       0 had missing libraries
       6 expected passes
       0 expected failures

       0 caused framework failures
       0 caused framework warnings
       0 unexpected passes
       2 unexpected failures
       0 unexpected stat failures

Unexpected failures:
   typecheck/should_run/EtaExpandLevPoly.run  EtaExpandLevPoly [exit code non-0] (profasm)
   typecheck/should_run/EtaExpandLevPoly.run  EtaExpandLevPoly [exit code non-0] (profthreaded)

I'll mark the test as expected broken in those ways for now, linking to this ticket.

Trac metadata
Trac field Value
Version 8.5
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