Skip to content

Core lint error when compiling grisette-0.4.1.0 with 9.8.1

$ cabal get grisette-0.4.1.0
$ cd grisette-0.4.1.1
$ cat > cabal.project << EOF
packages: .
package grisette
  ghc-options: -dlint
EOF
$ cabal build -w ghc-9.8.1
*** Core Lint errors : in result of CorePrep ***
src/Grisette/IR/SymPrim/Data/Prim/Model.hs:407:1: warning:
    The coercion variable co2_adsr
                            :: (f4_X5 :~~: (-->)) ~# (Any :~~: Any)
                          [LclId[CoVarId]]
      is out of scope
    In the RHS of evaluateSomeTerm :: Bool
                                      -> Model -> SomeTerm -> SomeTerm
    In the body of lambda with binder fillDefault_s2X07 :: Bool
    In the body of lambda with binder m_s2X08 :: Model
    In the body of lambda with binder eta_s2X09 :: SomeTerm
    In the RHS of gomemo_s2X0a :: SomeTerm -> SomeTerm
    In the body of lambda with binder c_s2X0b :: SomeTerm
    In a case alternative: (SomeTerm a_a2QcX :: *,
                                     $dSupportedPrim_s2X0d :: SupportedPrim a_a2QcX,
                                     ds_s2X0e :: Term a_a2QcX)
    In a case alternative: (ConTerm $dSupportedPrim1_s2X0g :: SupportedPrim
                                                                a_a2QcX,
                                    bx_s2X0h :: Int#,
                                    cv_s2X0i :: a_a2QcX)
    In a case alternative: (IsApp k'_a2nRD :: *,
                                  f1_a2nRE :: k'_a2nRD -> *,
                                  x_a2nRF :: k'_a2nRD,
                                  co_a2nRG :: a_a2QcX ~# f1_a2nRE x_a2nRF,
                                  f2_s2X0l :: TypeRep f1_a2nRE,
                                  x1_s2X0m :: TypeRep x_a2nRF)
    In a case alternative: (IsApp k'1_X4 :: *,
                                  f4_X5 :: k'1_X4 -> k'_a2nRD -> *,
                                  x2_X6 :: k'1_X4,
                                  co1_X7 :: f1_a2nRE ~# f4_X5 x2_X6,
                                  f5_s2X0o :: TypeRep f4_X5,
                                  x3_s2X0p :: TypeRep x2_X6)
    In a case alternative: (True)
    In a case alternative: (GeneralFun $dSupportedPrim2_s2X0s :: SupportedPrim
                                                                   (x2_X6 |> SelCo:Fun(arg)
                                                                                 (Sym (Sym (SelCo:Tc(1)
                                                                                                (Sub (Sym Univ(nominal CorePrep
                                                                                                               :: f4_X5
                                                                                                                  :~~: (-->), Any
                                                                                                                              :~~: Any))))
                                                                                       ; SelCo:Tc(0)
                                                                                             (Sub (Sym Univ(nominal CorePrep
                                                                                                            :: f4_X5
                                                                                                               :~~: (-->), Any
                                                                                                                           :~~: Any)))))),
                                       $dSupportedPrim3_s2X0t :: SupportedPrim
                                                                   (x_a2nRF |> SelCo:Fun(arg)
                                                                                   (SelCo:Fun(res)
                                                                                        (Sym (Sym (SelCo:Tc(1)
                                                                                                       (Sub (Sym Univ(nominal CorePrep
                                                                                                                      :: f4_X5
                                                                                                                         :~~: (-->), Any
                                                                                                                                     :~~: Any))))
                                                                                              ; SelCo:Tc(0)
                                                                                                    (Sub (Sym Univ(nominal CorePrep
                                                                                                                   :: f4_X5
                                                                                                                      :~~: (-->), Any
                                                                                                                                  :~~: Any))))))),
                                       ds1_s2X0u :: TypedSymbol
                                                      (x2_X6 |> SelCo:Fun(arg)
                                                                    (Sym (Sym (SelCo:Tc(1)
                                                                                   (Sub (Sym Univ(nominal CorePrep
                                                                                                  :: f4_X5
                                                                                                     :~~: (-->), Any
                                                                                                                 :~~: Any))))
                                                                          ; SelCo:Tc(0)
                                                                                (Sub (Sym Univ(nominal CorePrep
                                                                                               :: f4_X5
                                                                                                  :~~: (-->), Any
                                                                                                              :~~: Any)))))),
                                       ds2_s2X0v :: Term
                                                      (x_a2nRF |> SelCo:Fun(arg)
                                                                      (SelCo:Fun(res)
                                                                           (Sym (Sym (SelCo:Tc(1)
                                                                                          (Sub (Sym Univ(nominal CorePrep
                                                                                                         :: f4_X5
                                                                                                            :~~: (-->), Any
                                                                                                                        :~~: Any))))
                                                                                 ; SelCo:Tc(0)
                                                                                       (Sub (Sym Univ(nominal CorePrep
                                                                                                      :: f4_X5
                                                                                                         :~~: (-->), Any
                                                                                                                     :~~: Any))))))))
    In a case alternative: (False)
    In the body of letrec with binders sat_s2X0x :: SomeTerm
    In the result-type of a case with scrutinee: gomemo_s2X0a sat_s2X0x
    In the type ‘Term
                   (x_a2nRF |> SelCo:Fun(arg)
                                   (SelCo:Fun(res)
                                        (Sym (Sym (SelCo:Tc(1) (Sub (Sym co2_adsr)))
                                              ; SelCo:Tc(0) (Sub (Sym co2_adsr))))))’
    Substitution: <InScope = {k'1_X4 f4_X5 x2_X6 co1_X7 k'_a2nRD
                              f1_a2nRE x_a2nRF co_a2nRG a_a2QcX}
                   IdSubst   = []
                   TvSubst   = [X4 :-> k'1_X4, X5 :-> f4_X5, X6 :-> x2_X6,
                                a2nRD :-> k'_a2nRD, a2nRE :-> f1_a2nRE, a2nRF :-> x_a2nRF,
                                a2QcX :-> a_a2QcX]
                   CvSubst   = [X7 :-> co1_X7, a2nRG :-> co_a2nRG]>
Edited by Zubin
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information