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]>