Skip to content

slow validate failure: T7931 core lint error hpc

Reproduce with

hadrian/build test --freeze1  --docs=none --flavour=slow-validate --test-speed=slow --only="T7931"

Looks like something needs to look through ticks.

[1 of 2] Compiling Main             ( T7931.hs, T7931.o )
*** Core Lint errors : in result of Simplifier ***
<no location info>: warning:
    idArity 2 exceeds arity imposed by the strictness signature <S>b: lvl_s1SM
    In the RHS of lvl_s1SM :: A -> ShowS
    Substitution: <InScope = {}
                   IdSubst   = []
                   TvSubst   = []
                   CvSubst   = []>
*** Offending Program ***
$creadPrec_sXC :: Prec -> forall b. (A -> P b) -> P b
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 0 60}]
$creadPrec_sXC = (hpc<Main,9> $fAlternativeReadPrec4) @A

$creadListPrec_aTs :: ReadPrec [A]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
$creadListPrec_aTs
  = hpc<Main,10>
    list
      @A
      ($creadPrec_sXC
       `cast` (<Prec>_R %<'Many>_N ->_R Sym (N:ReadP[0] <A>_R)
               ; Sym (N:ReadPrec[0] <A>_R)
               :: (Prec -> forall b. (A -> P b) -> P b) ~R# ReadPrec A))

$creadList_s11Z :: P [A]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}]
$creadList_s11Z
  = ((($creadListPrec_aTs
       `cast` (N:ReadPrec[0] <[A]>_R
               :: ReadPrec [A] ~R# (Prec -> ReadP [A])))
        $fRead()7)
     `cast` (N:ReadP[0] <[A]>_R
             :: ReadP [A] ~R# (forall b. ([A] -> P b) -> P b)))
      @[A] ($fApplicativeP_$cpure @[A])

$creadList_aSt :: ReadS [A]
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 60}]
$creadList_aSt = hpc<Main,8> run @[A] $creadList_s11Z

$creadsPrec_aSl :: Int -> ReadS A
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 60}]
$creadsPrec_aSl
  = hpc<Main,7>
    \ (eta_aXk :: Int) ->
      run @A ($creadPrec_sXC eta_aXk @A ($fApplicativeP_$cpure @A))

$fReadA [InlPrag=CONLIKE] :: Read A
[LclIdX[DFunId],
 Unf=DFun: \ ->
       C:Read TYPE: A
              $creadsPrec_aSl
              $creadList_aSt
              $creadPrec_sXC
              `cast` (<Prec>_R %<'Many>_N ->_R Sym (N:ReadP[0] <A>_R)
                      ; Sym (N:ReadPrec[0] <A>_R)
                      :: (Prec -> forall b. (A -> P b) -> P b) ~R# ReadPrec A)
              $creadListPrec_aTs]
$fReadA
  = C:Read
      @A
      $creadsPrec_aSl
      $creadList_aSt
      ($creadPrec_sXC
       `cast` (<Prec>_R %<'Many>_N ->_R Sym (N:ReadP[0] <A>_R)
               ; Sym (N:ReadPrec[0] <A>_R)
               :: (Prec -> forall b. (A -> P b) -> P b) ~R# ReadPrec A))
      $creadListPrec_aTs

$sreadEither_s1SI [InlPrag=[2]] :: String -> Either String [A]
[LclId,
 Arity=1,
 Str=<L>,
 Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
         Tmpl= \ (s_a1Sz [Occ=Once1] :: String) ->
                 case readEither8
                        @[A]
                        (run
                           @[A]
                           (((($creadListPrec_aTs
                               `cast` (N:ReadPrec[0] <[A]>_R
                                       :: ReadPrec [A] ~R# (Prec -> ReadP [A])))
                                minPrec)
                             `cast` (N:ReadP[0] <[A]>_R
                                     :: ReadP [A] ~R# (forall b. ([A] -> P b) -> P b)))
                              @[A] (readEither7 @[A]))
                           s_a1Sz)
                 of {
                   [] -> readEither4 @[A];
                   : x_a1T1 [Occ=Once1] ds_a1T2 [Occ=Once1!] ->
                     case ds_a1T2 of {
                       [] -> Right @String @[A] x_a1T1;
                       : _ [Occ=Dead] _ [Occ=Dead] -> readEither1 @[A]
                     }
                 }}]
$sreadEither_s1SI
  = \ (s_a1Sz :: String) ->
      case readEither8
             @[A]
             (run
                @[A]
                (((($creadListPrec_aTs
                    `cast` (N:ReadPrec[0] <[A]>_R
                            :: ReadPrec [A] ~R# (Prec -> ReadP [A])))
                     minPrec)
                  `cast` (N:ReadP[0] <[A]>_R
                          :: ReadP [A] ~R# (forall b. ([A] -> P b) -> P b)))
                   @[A] (readEither7 @[A]))
                s_a1Sz)
      of {
        [] -> readEither4 @[A];
        : x_a1T1 [Dmd=S] ds_a1T2 [Dmd=S] ->
          case ds_a1T2 of {
            [] -> Right @String @[A] x_a1T1;
            : ipv_a1T8 [Dmd=B] ipv1_a1T9 [Dmd=B] -> readEither1 @[A]
          }
      }

$cshowsPrec_aPA :: Int -> A -> ShowS
[LclId,
 Arity=2,
 Str=<B><S>b,
 Cpr=b,
 Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True)
         Tmpl= \ _ [Occ=Dead, Dmd=B] (z_aOX [Occ=Once1, Dmd=S] :: A) ->
                 hpc<Main,4> case z_aOX of { }}]
$cshowsPrec_aPA
  = \ _ [Occ=Dead, Dmd=B] (z_aOX [Dmd=S] :: A) ->
      hpc<Main,4> case z_aOX of { }

lvl_s1SM :: A -> ShowS
[LclId,
 Arity=2,
 Str=<S>b,
 Cpr=b,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True)}]
lvl_s1SM
  = \ (z_aOX [Dmd=S] :: A) (eta_B0 [OS=OneShot] :: String) ->
      hpc<Main,4> case z_aOX of { }

$cshowList_aPQ :: [A] -> ShowS
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 60}]
$cshowList_aPQ
  = hpc<Main,6>
    \ (ls_aXp :: [A]) (s_aXq :: String) ->
      showList__ @A lvl_s1SM ls_aXp s_aXq

$cshow_aPI :: A -> String
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 10 60}]
$cshow_aPI
  = hpc<Main,5>
    \ (x_aXu [Dmd=S] :: A) -> hpc<Main,4> case x_aXu of { }

$fShowA [InlPrag=CONLIKE] :: Show A
[LclIdX[DFunId],
 Unf=DFun: \ ->
       C:Show TYPE: A $cshowsPrec_aPA $cshow_aPI $cshowList_aPQ]
$fShowA = C:Show @A $cshowsPrec_aPA $cshow_aPI $cshowList_aPQ

main_s1bm :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
         WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 270 0}]
main_s1bm
  = hpc<Main,3>
    hpc<Main,2>
    \ (eta_a12m [OS=OneShot] :: State# RealWorld) ->
      hPutStr2
        stdout
        ($cshowList_aPQ
           (hpc<Main,1>
            case readEither8
                   @[A]
                   (run
                      @[A]
                      (((($creadListPrec_aTs
                          `cast` (N:ReadPrec[0] <[A]>_R
                                  :: ReadPrec [A] ~R# (Prec -> ReadP [A])))
                           minPrec)
                        `cast` (N:ReadP[0] <[A]>_R
                                :: ReadP [A] ~R# (forall b. ([A] -> P b) -> P b)))
                         @[A] (readEither7 @[A]))
                      (hpc<Main,0> unpackCString# "[]"#))
            of {
              [] -> errorWithoutStackTrace @LiftedRep @[A] readEither5;
              : x_a1T1 [Dmd=S] ds_a1T2 [Dmd=S] ->
                case ds_a1T2 of {
                  [] -> x_a1T1;
                  : ipv_a1T8 [Dmd=B] ipv1_a1T9 [Dmd=B] ->
                    errorWithoutStackTrace @LiftedRep @[A] readEither2
                }
            })
           ([] @Char))
        True
        eta_a12m

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

main_s1Sq :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
 Arity=1,
 Str=<L>,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s1Sq
  = runMainIO1
      @()
      (main_s1bm
       `cast` (Sym (N:IO[0] <()>_R)
               :: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ()))

main :: IO ()
[LclIdX,
 Arity=1,
 Str=<L>,
 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_s1Sq
    `cast` (Sym (N:IO[0] <()>_R)
            :: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())

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

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

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

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

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

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

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

$tcA :: TyCon
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
         WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
$tcA
  = TyCon
      16201120719427956884##64
      13080046616073797921##64
      $trModule
      $tcA_s1Sw
      0#
      krep$*

*** End of Offense ***


<no location info>: error: 
Compilation had errors



<no location info>: error: ExitFailure 1

*** unexpected failure for T7931(hpc)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information