Implement lint check for empty cases with non-divergent scrutinee
The text is longer than 1048576 characters and has been visually truncated.
Implement lint check for empty cases with non-divergent scrutinee
In #16066 (closed) we discussed this new CoreLint check that checks that if a case expression has no alternatives then the scrutinee needs to be bottom. It's implemented in a few lines of code:
diff --git a/compiler/coreSyn/CoreLint.hs b/compiler/coreSyn/CoreLint.hs
index 91760c282b..b3c78761ee 100644
--- a/compiler/coreSyn/CoreLint.hs
+++ b/compiler/coreSyn/CoreLint.hs
@@ -787,6 +787,15 @@ lintCoreExpr (Lam var expr)
lintCoreExpr e@(Case scrut var alt_ty alts) =
-- Check the scrutinee
do { let scrut_diverges = exprIsBottom scrut
+
+ -- If the case has no alternatives the scrutinee needs to diverge
+ ; when (null alts) $
+ lintL scrut_diverges $ vcat
+ [ text "Case expression has no alts, " <>
+ text "but scrutinee is not known to diverge"
+ , text "Scruinee:" <+> ppr scrut
+ ]
+
; scrut_ty <- markAllJoinsBad $ lintCoreExpr scrut
; (alt_ty, _) <- lintInTy alt_ty
; (var_ty, _) <- lintInTy (idType var)
When I build this change with quick flavor I can run the test suite (normal and slow) without any failures, but a validate build causes lint errors when booting.
GHC invocation:
$ "inplace/bin/ghc-stage1" -hisuf hi -osuf o -hcsuf hc -static -O0 -H64m -Wall -fllvm-fill-undef-with-garbage -Werror -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -this-unit-id ghc-8.9.0.20190617 -hide-all-packages -i -icompiler/backpack -icompiler/basicTypes -icompiler/cmm -icompiler/codeGen -icompiler/coreSyn -icompiler/deSugar -icompiler/ghci -icompiler/hsSyn -icompiler/iface -icompiler/llvmGen -icompiler/main -icompiler/nativeGen -icompiler/parser -icompiler/prelude -icompiler/profiling -icompiler/rename -icompiler/simplCore -icompiler/simplStg -icompiler/specialise -icompiler/stgSyn -icompiler/stranal -icompiler/typecheck -icompiler/types -icompiler/utils -icompiler/hieFile -icompiler/stage2/build -Icompiler/stage2/build -icompiler/stage2/build/./autogen -Icompiler/stage2/build/./autogen -Icompiler/. -Icompiler/parser -Icompiler/utils -Icompiler/../rts/dist/build -Icompiler/stage2 -Icompiler/stage2/build/. -Icompiler/stage2/build/parser -Icompiler/stage2/build/utils -Icompiler/stage2/build/../rts/dist/build -Icompiler/stage2/build/stage2 -optP-DHAVE_INTERNAL_INTERPRETER -optP-DHAVE_EXTERNAL_INTERPRETER -optP-DHAVE_INTERPRETER -optP-DINTEGER_GMP -optP-include -optPcompiler/stage2/build/./autogen/cabal_macros.h -package-id array-0.5.4.0 -package-id base-4.13.0.0 -package-id binary-0.8.7.0 -package-id bytestring-0.10.9.0 -package-id containers-0.6.0.1 -package-id deepseq-1.4.4.0 -package-id directory-1.3.3.2 -package-id filepath-1.4.2.1 -package-id ghc-boot-8.9.0.20190617 -package-id ghc-boot-th-8.9.0.20190617 -package-id ghc-heap-8.9.0.20190617 -package-id ghci-8.9.0.20190617 -package-id hpc-0.6.0.3 -package-id integer-gmp-1.0.2.0 -package-id process-1.6.5.1 -package-id template-haskell-2.15.0.0 -package-id terminfo-0.4.1.4 -package-id time-1.9.3 -package-id transformers-0.5.6.2 -package-id unix-2.7.2.2 -Wall -Wno-name-shadowing -Wnoncanonical-monad-instances -Wnoncanonical-monoid-instances -this-unit-id ghc -XHaskell2010 -XNoImplicitPrelude -optc-DTHREADED_RTS -DGHCI_TABLES_NEXT_TO_CODE -DSTAGE=2 -Rghc-timing -O -dcore-lint -dno-debug-output -Wcpp-undef -no-user-package-db -rtsopts -Wnoncanonical-monad-instances -outputdir compiler/stage2/build -dynamic-too -c compiler/typecheck/TcExpr.hs -o compiler/stage2/build/TcExpr.o -dyno compiler/stage2/build/TcExpr.dyn_o
CoreLint failure
*** Core Lint errors : in result of Tidy Core ***
<no location info>: warning:
In a case alternative: (L ww3_s16yB :: SrcSpan,
ww4_X16Ki :: RdrName)
Case expression has no alts, but scrutinee is not known to diverge
Scruinee: lvl166_r1b2l s2_aSMk ww4_X16Ki env_aSMj real_loc_aEl6
*** Offending Program ***
lvl_r1aWw :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl_r1aWw = "tcInferRecSelId"#
lvl1_r1aWx :: [Char]
[GblId]
lvl1_r1aWx = unpackCString# lvl_r1aWw
lvl2_r1aWy :: TcM (HsExpr GhcTcId, TcRhoType)
[GblId]
lvl2_r1aWy = panic @ (TcM (HsExpr GhcTcId, TcRhoType)) lvl1_r1aWx
tcPolyExpr2 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 0}]
tcPolyExpr2 = "tcPolyExprNC"#
tcPolyExpr1 :: [Char]
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=True,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
tcPolyExpr1 = unpackCString# tcPolyExpr2
a#_r1aWz :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#_r1aWz = "In the"#
d1_r1aWA :: Doc
[GblId]
d1_r1aWA
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#_r1aWz realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#_r1aWz ds1_a10iv) ds1_a10iv Empty
}
a#1_r1aWB :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#1_r1aWB = "field of a record"#
s_r1aWC :: PtrString
[GblId]
s_r1aWC
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#1_r1aWB realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
PtrString a#1_r1aWB ds1_a10iv
}
lvl3_r1aWD :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl3_r1aWD = "tcRecordField"#
lvl4_r1aWE :: [Char]
[GblId]
lvl4_r1aWE = unpackCString# lvl3_r1aWD
lvl5_r1aWF :: TcM (Maybe (LFieldOcc GhcTc, LHsExpr GhcTc))
[GblId]
lvl5_r1aWF
= panic @ (TcM (Maybe (LFieldOcc GhcTc, LHsExpr GhcTc))) lvl4_r1aWE
tcPolyExpr4 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 0}]
tcPolyExpr4 = "tcPolyExpr"#
tcPolyExpr3 :: [Char]
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=True,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
tcPolyExpr3 = unpackCString# tcPolyExpr4
lvl6_r1aWG :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl6_r1aWG = "tcTupArgs"#
lvl7_r1aWH :: [Char]
[GblId]
lvl7_r1aWH = unpackCString# lvl6_r1aWG
lvl8_r1aWI
:: IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsTupArg GhcTcId))
[GblId]
lvl8_r1aWI
= panic
@ (IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsTupArg GhcTcId)))
lvl7_r1aWH
lvl9_r1aWJ
:: Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [GenLocated SrcSpan (HsTupArg GhcTcId)] #)
[GblId, Arity=2, Caf=NoCafRefs, Str=<L,A><L,U>, Unf=OtherCon []]
lvl9_r1aWJ
= \ _ [Occ=Dead] (s2_aTtO :: State# RealWorld) ->
(# s2_aTtO, [] @ (GenLocated SrcSpan (HsTupArg GhcTcId)) #)
lvl10_r1aWK :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl10_r1aWK = "tcSyntaxOpGen"#
lvl11_r1aWL :: [Char]
[GblId]
lvl11_r1aWL = unpackCString# lvl10_r1aWK
lvl12_r1aWM :: [SyntaxOpType]
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
lvl12_r1aWM = : @ SyntaxOpType SynList ([] @ SyntaxOpType)
lvl13_r1aWN :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl13_r1aWN = "compiler/typecheck/TcExpr.hs:1086:15-41|lambda"#
lvl14_r1aWO :: IOEnv (Env TcGblEnv TcLclEnv) TcSigmaType
[GblId, Str=b]
lvl14_r1aWO = patError @ 'LiftedRep @ (TcM TcSigmaType) lvl13_r1aWN
lvl15_r1aWP
:: [TcSigmaType]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, TcSigmaType #)
[GblId, Arity=3, Str=<S,1*U><L,A><L,U>, Unf=OtherCon []]
lvl15_r1aWP
= \ (ds_dK6E :: [TcSigmaType])
_ [Occ=Dead]
(eta1_B1 :: State# RealWorld) ->
case ds_dK6E of {
[] -> case lvl14_r1aWO of wild1_00 { };
: elt_ty_atFn ds1_dK6O ->
case ds1_dK6O of {
[] -> (# eta1_B1, elt_ty_atFn #);
: ipv_sUGu ipv1_sUGv -> case lvl14_r1aWO of wild2_00 { }
}
}
lvl16_r1aWQ :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl16_r1aWQ = "tcFunApp"#
lvl17_r1aWR :: [Char]
[GblId]
lvl17_r1aWR = unpackCString# lvl16_r1aWQ
a#2_r1aWS :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#2_r1aWS = "The"#
d2_r1aWT :: Doc
[GblId]
d2_r1aWT
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#2_r1aWS realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#2_r1aWS ds1_a10iv) ds1_a10iv Empty
}
lvl18_r1aWU :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl18_r1aWU = "expression"#
lvl19_r1aWV :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl19_r1aWV = "function"#
a#3_r1aWW :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#3_r1aWW = "is applied to"#
d3_r1aWX :: Doc
[GblId]
d3_r1aWX
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#3_r1aWW realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#3_r1aWW ds1_a10iv) ds1_a10iv Empty
}
lvl20_r1aWY :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl20_r1aWY = \ _ [Occ=Dead] -> d3_r1aWX
a#4_r1aWZ :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#4_r1aWZ = "When checking the"#
d4_r1aX0 :: Doc
[GblId]
d4_r1aX0
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#4_r1aWZ realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#4_r1aWZ ds1_a10iv) ds1_a10iv Empty
}
a#5_r1aX1 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#5_r1aX1 = "argument to"#
d5_r1aX2 :: Doc
[GblId]
d5_r1aX2
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#5_r1aX1 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#5_r1aX1 ds1_a10iv) ds1_a10iv Empty
}
a#6_r1aX3 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#6_r1aX3 = "Cannot apply expression of type"#
d6_r1aX4 :: Doc
[GblId]
d6_r1aX4
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#6_r1aX3 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#6_r1aX3 ds1_a10iv) ds1_a10iv Empty
}
a#7_r1aX5 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#7_r1aX5 = "to a visible type argument"#
d7_r1aX6 :: Doc
[GblId]
d7_r1aX6
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#7_r1aX5 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#7_r1aX5 ds1_a10iv) ds1_a10iv Empty
}
lvl21_r1aX7 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl21_r1aX7 = "VTA"#
lvl22_r1aX8 :: [Char]
[GblId]
lvl22_r1aX8 = unpackCString# lvl21_r1aX7
lvl23_r1aX9 :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
lvl23_r1aX9 = I# 1#
lvl24_r1aXa :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl24_r1aXa
= "compiler/typecheck/TcExpr.hs:1171:14-72|[alpha, beta]"#
a#8_r1aXb :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#8_r1aXb = "Bad call to tagToEnum#"#
d8_r1aXc :: Doc
[GblId]
d8_r1aXc
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#8_r1aXb realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#8_r1aXb ds1_a10iv) ds1_a10iv Empty
}
a#9_r1aXd :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#9_r1aXd = "at type"#
d9_r1aXe :: Doc
[GblId]
d9_r1aXe
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#9_r1aXd realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#9_r1aXd ds1_a10iv) ds1_a10iv Empty
}
lvl25_r1aXf :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl25_r1aXf = Beside d8_r1aXc True d9_r1aXe
lvl26_r1aXg :: RDoc
[GblId]
lvl26_r1aXg = reduceDoc lvl25_r1aXf
lvl27_r1aXh :: RDoc
[GblId]
lvl27_r1aXh = reduceDoc d9_r1aXe
lvl28_r1aXi :: RDoc
[GblId]
lvl28_r1aXi = reduceDoc d8_r1aXc
mk_error_r1aXj :: TcType -> SDoc -> SDocContext -> Doc
[GblId,
Arity=3,
Str=<L,U><L,1*C1(U)><S(SLS),U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=OtherCon []]
mk_error_r1aXj
= \ (ty_atLV :: TcType)
(what_atLW :: SDoc)
(sty_aTSa :: SDocContext) ->
let {
karg_sYdD :: Doc
[LclId]
karg_sYdD
= $wmkNest
2#
(reduceDoc
((what_atLW `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aTSa)) } in
case $fOutputableTyCoBinder3
emptyTidyEnv
($fShowFractionalLit2
`cast` (Sym (N:PprPrec[0]) :: Int ~R# PprPrec))
ty_atLV
sty_aTSa
of wild_aSI5 {
__DEFAULT ->
case d9_r1aXe of wild1_XSOC {
__DEFAULT ->
case d8_r1aXc of {
__DEFAULT ->
$wsep1
True
(reduceDoc (Beside lvl25_r1aXf True wild_aSI5))
0#
(: @ Doc karg_sYdD ([] @ Doc));
Empty ->
$wsep1
True
(reduceDoc (Beside wild1_XSOC True wild_aSI5))
0#
(: @ Doc karg_sYdD ([] @ Doc))
};
Empty ->
case d8_r1aXc of wild2_aSI6 {
__DEFAULT ->
$wsep1
True
(reduceDoc (Beside wild2_aSI6 True wild_aSI5))
0#
(: @ Doc karg_sYdD ([] @ Doc));
Empty ->
$wsep1 True (reduceDoc wild_aSI5) 0# (: @ Doc karg_sYdD ([] @ Doc))
}
};
Empty ->
case d9_r1aXe of {
__DEFAULT ->
case d8_r1aXc of {
__DEFAULT ->
$wsep1 True lvl26_r1aXg 0# (: @ Doc karg_sYdD ([] @ Doc));
Empty -> $wsep1 True lvl27_r1aXh 0# (: @ Doc karg_sYdD ([] @ Doc))
};
Empty -> $wsep1 True lvl28_r1aXi 0# (: @ Doc karg_sYdD ([] @ Doc))
}
}
a#10_r1aXk :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#10_r1aXk = "Result type must be an enumeration type"#
d10_r1aXl :: Doc
[GblId]
d10_r1aXl
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#10_r1aXk realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#10_r1aXk ds1_a10iv) ds1_a10iv Empty
}
doc2_r1aXm :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
doc2_r1aXm = \ _ [Occ=Dead] -> d10_r1aXl
a#11_r1aXn :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#11_r1aXn = "Specify the type by giving a type signature"#
d11_r1aXo :: Doc
[GblId]
d11_r1aXo
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#11_r1aXn realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#11_r1aXn ds1_a10iv) ds1_a10iv Empty
}
a#12_r1aXp :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#12_r1aXp = "e.g. (tagToEnum# x) :: Bool"#
d12_r1aXq :: Doc
[GblId]
d12_r1aXq
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#12_r1aXp realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#12_r1aXp ds1_a10iv) ds1_a10iv Empty
}
doc1_r1aXr :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
doc1_r1aXr = \ _ [Occ=Dead] -> d11_r1aXo
doc4_r1aXs :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
doc4_r1aXs = \ _ [Occ=Dead] -> d12_r1aXq
doc5_r1aXt :: [SDoc]
[GblId, Str=m2, Unf=OtherCon []]
doc5_r1aXt
= : @ SDoc
(doc4_r1aXs
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
([] @ SDoc)
doc6_r1aXu :: [SDoc]
[GblId, Str=m2, Unf=OtherCon []]
doc6_r1aXu
= : @ SDoc
(doc1_r1aXr
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
doc5_r1aXt
doc7_r1aXv :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,U>, Unf=OtherCon []]
doc7_r1aXv = $fOutputableSCC1 doc6_r1aXu
lvl29_r1aXw :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl29_r1aXw
= "compiler/typecheck/TcExpr.hs:1918:14-54|(before, _ : after)"#
lvl30_r1aXx
:: ([HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)],
[HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)])
[GblId, Str=b]
lvl30_r1aXx
= patError
@ 'LiftedRep
@ ([HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)],
[HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)])
lvl29_r1aXw
lvl31_r1aXy :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl31_r1aXy
= "compiler/typecheck/TcExpr.hs:1937:14-43|Just (tc, tc_args)"#
lvl32_r1aXz :: (TyCon, [Type])
[GblId, Str=b]
lvl32_r1aXz = patError @ 'LiftedRep @ (TyCon, [Type]) lvl31_r1aXy
lvl33_r1aXA :: ExpType
[GblId, Str=m1, Unf=OtherCon []]
lvl33_r1aXA = Check intPrimTy
a#13_r1aXB :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#13_r1aXB = "Too many type arguments to"#
a#14_r1aXC :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#14_r1aXC = "tagToEnum#"#
lvl34_r1aXD :: Doc
[GblId, Caf=NoCafRefs, Str=m3, Unf=OtherCon []]
lvl34_r1aXD = TextBeside colon1 1# Empty
lvl35_r1aXE :: RDoc
[GblId]
lvl35_r1aXE
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#14_r1aXC realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#13_r1aXB realWorld#
of
{ (# ds2_X10qY, ds3_X10r0 #) ->
reduceDoc
(Beside
(Beside
(TextBeside (LStr a#13_r1aXB ds3_X10r0) ds3_X10r0 Empty)
True
(TextBeside (LStr a#14_r1aXC ds1_a10iv) ds1_a10iv Empty))
False
lvl34_r1aXD)
}
}
lvl36_r1aXF :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl36_r1aXF = "too_many_args"#
lvl37_r1aXG :: [Char]
[GblId]
lvl37_r1aXG = unpackCString# lvl36_r1aXF
lvl38_r1aXH :: SDoc
[GblId]
lvl38_r1aXH = panic @ SDoc lvl37_r1aXG
lvl39_r1aXI :: CtOrigin
[GblId, Str=m2, Unf=OtherCon []]
lvl39_r1aXI = OccurrenceOf nilDataConName
lvl40_r1aXJ :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl40_r1aXJ = "tcMonoExpr"#
lvl41_r1aXK :: [Char]
[GblId]
lvl41_r1aXK = unpackCString# lvl40_r1aXJ
a#15_r1aXL :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#15_r1aXL = "The lambda expression"#
d13_r1aXM :: Doc
[GblId]
d13_r1aXM
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#15_r1aXL realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#15_r1aXL ds1_a10iv) ds1_a10iv Empty
}
depth_r1aXN :: Depth
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
depth_r1aXN = PartWay lvl23_r1aX9
a#16_r1aXO :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#16_r1aXO = "has"#
d14_r1aXP :: Doc
[GblId]
d14_r1aXP
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#16_r1aXO realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#16_r1aXO ds1_a10iv) ds1_a10iv Empty
}
lvl42_r1aXQ :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl42_r1aXQ = \ _ [Occ=Dead] -> d14_r1aXP
lvl43_r1aXR :: TcMatchCtxt HsExpr
[GblId, Str=m, Unf=OtherCon []]
lvl43_r1aXR = MC @ HsExpr (LambdaExpr @ Name) tcBody
a#17_r1aXS :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#17_r1aXS = "The function"#
d15_r1aXT :: Doc
[GblId]
d15_r1aXT
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#17_r1aXS realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#17_r1aXS ds1_a10iv) ds1_a10iv Empty
}
a#18_r1aXU :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#18_r1aXU = "requires"#
d16_r1aXV :: Doc
[GblId]
d16_r1aXV
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#18_r1aXU realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#18_r1aXU ds1_a10iv) ds1_a10iv Empty
}
lvl44_r1aXW :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl44_r1aXW = \ _ [Occ=Dead] -> d16_r1aXV
lvl45_r1aXX :: TcMatchCtxt HsExpr
[GblId, Str=m, Unf=OtherCon []]
lvl45_r1aXX = MC @ HsExpr (CaseAlt @ Name) tcBody
lvl46_r1aXY :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl46_r1aXY = "Non Application rule"#
lvl47_r1aXZ :: [Char]
[GblId]
lvl47_r1aXZ = unpackCString# lvl46_r1aXY
lvl48_r1aY0 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl48_r1aY0 = "Application rule"#
lvl49_r1aY1 :: [Char]
[GblId]
lvl49_r1aY1 = unpackCString# lvl48_r1aY0
a#19_r1aY2 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#19_r1aY2 = "When looking at the argument to ($)"#
d17_r1aY3 :: Doc
[GblId]
d17_r1aY3
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#19_r1aY2 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#19_r1aY2 ds1_a10iv) ds1_a10iv Empty
}
lvl50_r1aY4 :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl50_r1aY4 = \ _ [Occ=Dead] -> d17_r1aY3
lvl51_r1aY5 :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
lvl51_r1aY5 = I# 2#
a#20_r1aY6 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#20_r1aY6 = "The first argument of ($) takes"#
d18_r1aY7 :: Doc
[GblId]
d18_r1aY7
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#20_r1aY6 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#20_r1aY6 ds1_a10iv) ds1_a10iv Empty
}
lvl52_r1aY8 :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl52_r1aY8 = \ _ [Occ=Dead] -> d18_r1aY7
lvl53_r1aY9 :: [SyntaxOpType]
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
lvl53_r1aY9 = : @ SyntaxOpType SynAny ([] @ SyntaxOpType)
lvl54_r1aYa :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl54_r1aYa
= "compiler/typecheck/TcExpr.hs:(200,16)-(201,54)|lambda"#
lvl55_r1aYb :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl55_r1aYb = "ExpTuple"#
lvl56_r1aYc :: [Char]
[GblId]
lvl56_r1aYc = unpackCString# lvl55_r1aYb
lvl57_r1aYd :: CtOrigin
[GblId, Str=m42, Unf=OtherCon []]
lvl57_r1aYd = Shouldn'tHappenOrigin lvl56_r1aYc
Rec {
$wunsafeDrop_r1aYe :: forall a1. Int# -> [a1] -> [a1]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<L,1*U><S,1*U>,
Unf=OtherCon []]
$wunsafeDrop_r1aYe
= \ (@ a1_s16t3) (ww_s16t8 :: Int#) (w_s16t5 :: [a1_s16t3]) ->
case w_s16t5 of {
[] -> [] @ a1_s16t3;
: ipv1_aKE1 ipv2_aKE2 ->
case ww_s16t8 of ds3_aKE4 {
__DEFAULT ->
$wunsafeDrop_r1aYe @ a1_s16t3 (-# ds3_aKE4 1#) ipv2_aKE2;
1# -> ipv2_aKE2
}
}
end Rec }
lvl58_r1aYf :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl58_r1aYf = "HsCase"#
lvl59_r1aYg :: [Char]
[GblId]
lvl59_r1aYg = unpackCString# lvl58_r1aYf
lvl60_r1aYh :: ExpType
[GblId, Str=m1, Unf=OtherCon []]
lvl60_r1aYh = Check boolTy
lvl61_r1aYi :: [SyntaxOpType]
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
lvl61_r1aYi = : @ SyntaxOpType SynAny lvl53_r1aY9
lvl62_r1aYj :: [SyntaxOpType]
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
lvl62_r1aYj = : @ SyntaxOpType SynAny lvl61_r1aYi
lvl63_r1aYk :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl63_r1aYk
= "compiler/typecheck/TcExpr.hs:(579,15)-(583,45)|lambda"#
lvl64_r1aYl :: HsStmtContext Name
[GblId, Caf=NoCafRefs, Str=m7, Unf=OtherCon []]
lvl64_r1aYl = PatGuard @ Name (IfAlt @ Name)
lvl65_r1aYm :: ExpType
[GblId, Str=m1, Unf=OtherCon []]
lvl65_r1aYm = Check intTy
lvl66_r1aYn :: SyntaxOpType
[GblId, Str=m5, Unf=OtherCon []]
lvl66_r1aYn = SynType lvl65_r1aYm
lvl67_r1aYo :: [SyntaxOpType]
[GblId, Str=m2, Unf=OtherCon []]
lvl67_r1aYo = : @ SyntaxOpType lvl66_r1aYn lvl12_r1aWM
lvl68_r1aYp :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl68_r1aYp
= "compiler/typecheck/TcExpr.hs:(526,29)-(529,58)|lambda"#
lvl69_r1aYq
:: Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, [LHsExpr GhcTcId] #)
[GblId, Arity=2, Caf=NoCafRefs, Str=<L,A><L,U>, Unf=OtherCon []]
lvl69_r1aYq
= \ _ [Occ=Dead] (s2_aTtO :: State# RealWorld) ->
(# s2_aTtO, [] @ (LHsExpr GhcTcId) #)
lvl70_r1aYr :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl70_r1aYr
= "compiler/typecheck/TcExpr.hs:672:15-75|Right (arg_tys,\n\
\ actual_res_ty)"#
lvl71_r1aYs :: ([TcSigmaType], TcSigmaType)
[GblId, Str=b]
lvl71_r1aYs
= patError @ 'LiftedRep @ ([TcSigmaType], TcSigmaType) lvl70_r1aYr
lvl72_r1aYt :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl72_r1aYt = "RecordCon"#
lvl73_r1aYu :: [Char]
[GblId]
lvl73_r1aYu = unpackCString# lvl72_r1aYt
lvl74_r1aYv :: CtOrigin
[GblId, Str=m42, Unf=OtherCon []]
lvl74_r1aYv = Shouldn'tHappenOrigin lvl73_r1aYu
lvl75_r1aYw :: WarnReason
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
lvl75_r1aYw = Reason Opt_WarnMissingFields
lookupSelector_r1aYx
:: (LHsRecUpdField GhcRn, Name)
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn) #)
[GblId,
Arity=3,
Str=<S(SS(LS(LS)LL)),1*U(1*U(U,U(U(1*U,1*U),U,U)),1*U(U,U(U,U(U,U,U,U,U,U,U)),U,A))><S(LLLS(LLLLLLLSLLLL)),1*U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
lookupSelector_r1aYx
= \ (ds_dEtQ :: (LHsRecUpdField GhcRn, Name))
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case ds_dEtQ of { (ds1_dEuk, n_atNu) ->
case ds1_dEuk of { L l_atNs upd_atNt ->
case tcLookupId1 n_atNu eta_B2 eta1_B1 of
{ (# ipv_XST0, ipv1_XST2 #) ->
let {
loc10_sXsY :: SrcSpan
[LclId]
loc10_sXsY
= case upd_atNt of { HsRecField ds3_aDdP ds4_aDdQ ds5_aDdR ->
case ds3_aDdP of { L loc11_XtUh af_atNx -> loc11_XtUh }
} } in
(# ipv_XST0,
L @ SrcSpan
@ (HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn))
l_atNs
(case upd_atNt of { HsRecField ds3_dEtS ds4_dEtT ds5_dEtU ->
HsRecField
@ (AmbiguousFieldOcc GhcTc)
@ (LHsExpr GhcRn)
(L @ SrcSpan
@ (AmbiguousFieldOcc GhcTc)
loc10_sXsY
(Unambiguous
@ GhcTc
(ipv1_XST2
`cast` (Sub (Sym (D:R:XUnambiguousGhcPass[0]))
:: Id ~R# XUnambiguous GhcTc))
(L @ SrcSpan
@ RdrName
loc10_sXsY
(case ds3_dEtS of { L loc11_XtOH af_atNx ->
case af_atNx of {
Unambiguous ds6_aDYJ ds7_aDYK ->
case ds7_aDYK of { L ds8_aDYO rdr_aDYP -> rdr_aDYP };
Ambiguous ds6_aDYS ds7_aDYT ->
case ds7_aDYT of { L ds8_aDYX rdr_aDYY -> rdr_aDYY };
XAmbiguousFieldOcc ds6_aDZ2 -> rdrNameAmbiguousFieldOcc1
}
}))))
ds4_dEtT
ds5_dEtU
}) #)
}
}
}
lvl76_r1aYy
:: LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)
-> SrcSpanLess
(GenLocated SrcSpan (AmbiguousFieldOcc (GhcPass 'Typechecked)))
[GblId,
Arity=1,
Caf=NoCafRefs,
Str=<S(LS(S(LS)LL)),1*U(A,1*U(1*U(A,1*U),A,A))>,
Unf=OtherCon []]
lvl76_r1aYy
= \ (x_XDj1
:: LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)) ->
case x_XDj1
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)>_N))))_R
:: GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)))))
of
{ L ds1_aDdY e_aDdZ ->
case e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)))
~R# HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn))
of
{ HsRecField ds2_aDdP ds3_aDdQ ds4_aDdR ->
case ds2_aDdP
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <AmbiguousFieldOcc (GhcPass 'Typechecked)>_N))))_R
:: GenLocated SrcSpan (AmbiguousFieldOcc (GhcPass 'Typechecked))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (AmbiguousFieldOcc (GhcPass 'Typechecked)))))
of
{ L ds5_XDyt e1_XDyv ->
e1_XDyv
}
}
}
lvl77_r1aYz
:: AmbiguousFieldOcc (GhcPass 'Typechecked) -> FastString
[GblId, Arity=1, Str=<S,1*U>m, Unf=OtherCon []]
lvl77_r1aYz
= \ (w_s16um :: AmbiguousFieldOcc (GhcPass 'Typechecked)) ->
case w_s16um of {
Unambiguous ds1_aDYJ ds2_aDYK ->
case ds2_aDYK of { L ds3_aDYO rdr_aDYP ->
case rdr_aDYP of {
Unqual occ_aDCk ->
case occ_aDCk of { OccName ds4_aDCa ds5_aDCb -> ds5_aDCb };
Qual ds4_aDCn occ_aDYn ->
case occ_aDYn of { OccName ds5_aDCa ds6_aDCb -> ds6_aDCb };
Orig ds4_aDYq occ_aDYt ->
case occ_aDYt of { OccName ds5_aDCa ds6_aDCb -> ds6_aDCb };
Exact name_aDYw ->
case name_aDYw of { Name ds4_aDYA ds5_aDYB dt_aDYC ds6_aDYD ->
case ds5_aDYB of { OccName ds7_s19a9 ds8_s19aa -> ds8_s19aa }
}
}
};
Ambiguous ds1_aDYS ds2_aDYT ->
case ds2_aDYT of { L ds3_aDYX rdr_aDYY ->
case rdr_aDYY of {
Unqual occ_aDCk ->
case occ_aDCk of { OccName ds4_aDCa ds5_aDCb -> ds5_aDCb };
Qual ds4_aDCn occ_aDYn ->
case occ_aDYn of { OccName ds5_aDCa ds6_aDCb -> ds6_aDCb };
Orig ds4_aDYq occ_aDYt ->
case occ_aDYt of { OccName ds5_aDCa ds6_aDCb -> ds6_aDCb };
Exact name_aDYw ->
case name_aDYw of { Name ds4_aDYA ds5_aDYB dt_aDYC ds6_aDYD ->
case ds5_aDYB of { OccName ds7_s19ad ds8_s19ae -> ds8_s19ae }
}
}
};
XAmbiguousFieldOcc ds1_aDZ2 ->
case rdrNameAmbiguousFieldOcc1 of {
Unqual occ_aDCk ->
case occ_aDCk of { OccName ds2_aDCa ds3_aDCb -> ds3_aDCb };
Qual ds2_aDCn occ_aDYn ->
case occ_aDYn of { OccName ds3_aDCa ds4_aDCb -> ds4_aDCb };
Orig ds2_aDYq occ_aDYt ->
case occ_aDYt of { OccName ds3_aDCa ds4_aDCb -> ds4_aDCb };
Exact name_aDYw ->
case name_aDYw of { Name ds2_aDYA ds3_aDYB dt_aDYC ds4_aDYD ->
case ds3_aDYB of { OccName ds5_s19ah ds6_s19ai -> ds6_s19ai }
}
}
}
lvl78_r1aYA :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl78_r1aYA = "compiler/typecheck/TcExpr.hs:854:15-35|sel_id : _"#
lvl79_r1aYB :: (Id)
[GblId, Str=b]
lvl79_r1aYB = patError @ 'LiftedRep @ (Id) lvl78_r1aYA
lvl80_r1aYC :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl80_r1aYC = "tcRecordUpd"#
lvl81_r1aYD :: [Char]
[GblId]
lvl81_r1aYD = unpackCString# lvl80_r1aYC
lvl82_r1aYE :: [ConLike]
[GblId]
lvl82_r1aYE = panic @ [ConLike] lvl81_r1aYD
a#21_r1aYF :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#21_r1aYF = "Record update for insufficiently polymorphic field"#
d19_r1aYG :: Doc
[GblId]
d19_r1aYG
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#21_r1aYF realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#21_r1aYF ds1_a10iv) ds1_a10iv Empty
}
lvl83_r1aYH
:: (Int, (FieldLabelString, [Bool]))
-> (Int, (FieldLabelString, [Bool])) -> Ordering
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S(SL),1*U(1*U(U),A)><S(SL),1*U(1*U(U),A)>,
Unf=OtherCon []]
lvl83_r1aYH
= \ (x_aDzD :: (Int, (FieldLabelString, [Bool])))
(y_aDzE [OS=OneShot] :: (Int, (FieldLabelString, [Bool]))) ->
case x_aDzD of { (x1_aDzl, ds1_aDzm) ->
case x1_aDzl of { I# x#_aVB8 ->
case y_aDzE of { (x2_XDTA, ds2_XDTC) ->
case x2_XDTA of { I# y#_aVBd -> compareInt# x#_aVB8 y#_aVBd }
}
}
}
a#22_r1aYI :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#22_r1aYI = "No constructor has all these fields:"#
lvl84_r1aYJ :: RDoc
[GblId]
lvl84_r1aYJ
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#22_r1aYI realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
reduceDoc (TextBeside (LStr a#22_r1aYI ds1_a10iv) ds1_a10iv Empty)
}
lvl85_r1aYK
:: (FieldLabelString, [Bool]) -> (FieldLabelString, [Bool]) -> Bool
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S(LS),1*U(A,1*U)><S(LS),1*U(A,1*U)>,
Unf=OtherCon []]
lvl85_r1aYK
= \ (x_aDzD :: (FieldLabelString, [Bool]))
(y_aDzE :: (FieldLabelString, [Bool])) ->
case x_aDzD of { (ds1_aDzK, y1_aDzL) ->
case y_aDzE of { (ds2_XDTJ, y2_XDTL) ->
$fEq[]_$c== @ Bool $fEqBool y1_aDzL y2_XDTL
}
}
Rec {
go2_r1aYL :: [Bool] -> [Bool] -> [Bool]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U><L,1*U>,
Unf=OtherCon []]
go2_r1aYL
= \ (ds_aDAk :: [Bool]) (ds1_aDAl :: [Bool]) ->
case ds_aDAk of {
[] -> [] @ Bool;
: ipv_aDAp ipv1_aDAq ->
case ds1_aDAl of {
[] -> [] @ Bool;
: ipv2_aDAv ipv3_aDAw ->
: @ Bool
(case ipv_aDAp of {
False -> False;
True -> ipv2_aDAv
})
(go2_r1aYL ipv1_aDAq ipv3_aDAw)
}
}
end Rec }
lvl86_r1aYM
:: (FieldLabelString, [Bool])
-> (FieldLabelString, [Bool]) -> (FieldLabelString, [Bool])
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U(A,1*U)><S,1*U(U,1*U)>m,
Unf=OtherCon []]
lvl86_r1aYM
= \ (w_s16ut :: (FieldLabelString, [Bool]))
(w1_s16uu :: (FieldLabelString, [Bool])) ->
case w_s16ut of { (ww1_s16ux, ww2_s16uy) ->
case w1_s16uu of { (ww4_s16uC, ww5_s16uD) ->
(ww4_s16uC, go2_r1aYL ww2_s16uy ww5_s16uD)
}
}
a#23_r1aYN :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#23_r1aYN
= "Cannot use a mixture of pattern synonym and record selectors"#
s1_r1aYO :: PtrString
[GblId]
s1_r1aYO
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#23_r1aYN realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
PtrString a#23_r1aYN ds1_a10iv
}
a#24_r1aYP :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#24_r1aYP = "Record selectors defined by"#
d20_r1aYQ :: Doc
[GblId]
d20_r1aYQ
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#24_r1aYP realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#24_r1aYP ds1_a10iv) ds1_a10iv Empty
}
lvl87_r1aYR :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl87_r1aYR
= "compiler/typecheck/TcExpr.hs:2723:5-53|RecSelData rep_dc"#
lvl88_r1aYS :: (TyCon)
[GblId, Str=b]
lvl88_r1aYS = patError @ 'LiftedRep @ (TyCon) lvl87_r1aYR
a#25_r1aYT :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#25_r1aYT = ":"#
d21_r1aYU :: Doc
[GblId]
d21_r1aYU
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#25_r1aYT realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#25_r1aYT ds1_a10iv) ds1_a10iv Empty
}
a#26_r1aYV :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#26_r1aYV = "Pattern synonym selectors defined by"#
d22_r1aYW :: Doc
[GblId]
d22_r1aYW
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#26_r1aYV realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#26_r1aYV ds1_a10iv) ds1_a10iv Empty
}
lvl89_r1aYX :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl89_r1aYX
= "compiler/typecheck/TcExpr.hs:2722:5-55|RecSelPatSyn rep_ps"#
lvl90_r1aYY :: (PatSyn)
[GblId, Str=b]
lvl90_r1aYY = patError @ 'LiftedRep @ (PatSyn) lvl89_r1aYX
lvl91_r1aYZ
:: Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, () #)
[GblId, Arity=2, Caf=NoCafRefs, Str=<L,A><L,U>, Unf=OtherCon []]
lvl91_r1aYZ
= \ _ [Occ=Dead] (s2_aTtO :: State# RealWorld) -> (# s2_aTtO, () #)
lvl92_r1aZ0
:: Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
[LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)] #)
[GblId, Arity=2, Caf=NoCafRefs, Str=<L,A><L,U>, Unf=OtherCon []]
lvl92_r1aZ0
= \ _ [Occ=Dead] (s2_aTtO :: State# RealWorld) ->
(# s2_aTtO,
[] @ (LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)) #)
a#27_r1aZ1 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#27_r1aZ1 = "No type has all these fields:"#
lvl93_r1aZ2 :: RDoc
[GblId]
lvl93_r1aZ2
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#27_r1aZ1 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
reduceDoc (TextBeside (LStr a#27_r1aZ1 ds1_a10iv) ds1_a10iv Empty)
}
lvl94_r1aZ3
:: (LHsRecUpdField GhcRn, [(RecSelParent, GlobalRdrElt)])
-> [RecSelParent]
[GblId,
Arity=1,
Caf=NoCafRefs,
Str=<S(LS),1*U(A,1*U)>,
Unf=OtherCon []]
lvl94_r1aZ3
= \ (x_aDcr
:: (LHsRecUpdField GhcRn, [(RecSelParent, GlobalRdrElt)])) ->
case x_aDcr of { (ds1_aDzK, y_aDzL) ->
map
@ (RecSelParent, GlobalRdrElt)
@ RecSelParent
(fst @ RecSelParent @ GlobalRdrElt)
y_aDzL
}
lvl95_r1aZ4 :: Maybe [(LHsRecUpdField GhcRn, Name)]
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
lvl95_r1aZ4
= Just
@ [(LHsRecUpdField GhcRn, Name)]
([] @ (LHsRecUpdField GhcRn, Name))
lvl96_r1aZ5 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl96_r1aZ5 = "tcExprSig: CompleteSig"#
lvl97_r1aZ6 :: [Char]
[GblId]
lvl97_r1aZ6 = unpackCString# lvl96_r1aZ5
a#28_r1aZ7 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#28_r1aZ7 = "poly_id:"#
d23_r1aZ8 :: Doc
[GblId]
d23_r1aZ8
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#28_r1aZ7 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#28_r1aZ7 ds1_a10iv) ds1_a10iv Empty
}
a#29_r1aZ9 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#29_r1aZ9 = "tv_prs:"#
d24_r1aZa :: Doc
[GblId]
d24_r1aZa
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#29_r1aZ9 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#29_r1aZ9 ds1_a10iv) ds1_a10iv Empty
}
lvl98_r1aZb :: (Name, Var) -> SDoc
[GblId, Arity=1, Str=<S,1*U(U,U)>, Unf=OtherCon []]
lvl98_r1aZb
= \ (w2_aVLf :: (Name, Var)) ->
case w2_aVLf of { (ww1_aVLl, ww2_aVLm) ->
$w$cppr
@ Name @ Var $fOutputableName $fOutputableVar ww1_aVLl ww2_aVLm
}
lvl99_r1aZc :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl99_r1aZc = "tcExpSig"#
lvl100_r1aZd :: [Char]
[GblId]
lvl100_r1aZd = unpackCString# lvl99_r1aZc
a#30_r1aZe :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#30_r1aZe = "In the body of a static form:"#
lvl101_r1aZf :: RDoc
[GblId]
lvl101_r1aZf
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#30_r1aZe realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
reduceDoc (TextBeside (LStr a#30_r1aZe ds1_a10iv) ds1_a10iv Empty)
}
$spprMatches4 :: GhcPass 'Renamed ~ GhcPass 'Renamed
[GblId,
Caf=NoCafRefs,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 0 10}]
$spprMatches4
= Eq#
@ *
@ (GhcPass 'Renamed)
@ (GhcPass 'Renamed)
@~ (<GhcPass 'Renamed>_N :: GhcPass 'Renamed ~# GhcPass 'Renamed)
lvl102_r1aZg :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl102_r1aZg = "tcCheckRecSelId"#
lvl103_r1aZh :: [Char]
[GblId]
lvl103_r1aZh = unpackCString# lvl102_r1aZg
lvl104_r1aZi :: TcM (HsExpr GhcTcId)
[GblId]
lvl104_r1aZi = panic @ (TcM (HsExpr GhcTcId)) lvl103_r1aZh
tcCheckId3 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 0}]
tcCheckId3 = "tcCheckId"#
tcCheckId2 :: [Char]
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=True,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
tcCheckId2 = unpackCString# tcCheckId3
a#31_r1aZj :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#31_r1aZj = "tagToEnum# must appear applied to one argument"#
d25_r1aZk :: Doc
[GblId]
d25_r1aZk
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#31_r1aZj realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#31_r1aZj ds1_a10iv) ds1_a10iv Empty
}
lvl105_r1aZl :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl105_r1aZl = \ _ [Occ=Dead] -> d25_r1aZk
lvl106_r1aZm :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl106_r1aZm = "tcInferId"#
lvl107_r1aZn :: [Char]
[GblId]
lvl107_r1aZn = unpackCString# lvl106_r1aZm
a#32_r1aZo :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#32_r1aZo = "Can't splice the polymorphic local variable"#
d26_r1aZp :: Doc
[GblId]
d26_r1aZp
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#32_r1aZo realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#32_r1aZo ds1_a10iv) ds1_a10iv Empty
}
a#33_r1aZq :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#33_r1aZq = "used where a value identifier was expected"#
d27_r1aZr :: Doc
[GblId]
d27_r1aZr
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#33_r1aZq realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#33_r1aZq ds1_a10iv) ds1_a10iv Empty
}
a#34_r1aZs :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#34_r1aZs = "Probable fix: use pattern-matching syntax instead"#
d28_r1aZt :: Doc
[GblId]
d28_r1aZt
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#34_r1aZs realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#34_r1aZs ds1_a10iv) ds1_a10iv Empty
}
a#35_r1aZu :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#35_r1aZu = "as a function due to escaped type variables"#
d29_r1aZv :: Doc
[GblId]
d29_r1aZv
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#35_r1aZu realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#35_r1aZu ds1_a10iv) ds1_a10iv Empty
}
a#36_r1aZw :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#36_r1aZw = "Cannot use record selector"#
d30_r1aZx :: Doc
[GblId]
d30_r1aZx
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#36_r1aZw realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#36_r1aZw ds1_a10iv) ds1_a10iv Empty
}
lvl108_r1aZy :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl108_r1aZy = Beside d30_r1aZx True d29_r1aZv
lvl109_r1aZz :: Doc
[GblId, Str=m8, Unf=OtherCon []]
lvl109_r1aZz = Above lvl108_r1aZy False d28_r1aZt
lvl110_r1aZA :: Doc
[GblId, Str=m8, Unf=OtherCon []]
lvl110_r1aZA = Above d29_r1aZv False d28_r1aZt
lvl111_r1aZB :: Doc
[GblId, Str=m8, Unf=OtherCon []]
lvl111_r1aZB = Above d30_r1aZx False d28_r1aZt
tc_infer_id_r1aZC
:: RdrName
-> Name
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #)
[GblId,
Arity=4,
Str=<L,U><S,1*U(U,U(U,U(U,U,U,U,U,U,U)),U,U)><S(LLLS(LLLLLLLSLLLL)),1*U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
tc_infer_id_r1aZC
= \ (lbl_atLh :: RdrName)
(id_name_atLi :: Name)
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case eta_B2 of wild_aTU1 { Env ds_aTU3 dt_aTU4 ds1_aTU5 ds2_aTU6 ->
case id_name_atLi of wild1_aTU8
{ Name ds4_aTUa ds5_aTUb dt1_aTUc ds3_aTUd ->
case ds2_aTU6 of
{ TcLclEnv ds6_aTUh ds7_aTUi ds8_aTUj ds9_aTUk ds10_aTUl ds11_aTUm
ds12_aTUn ds13_aTUo ds14_aTUp ds15_aTUq ds16_aTUr ds17_aTUs ->
join {
$j_sYb8 [Dmd=<L,1*C1(C1(U(U,U)))>]
:: State# RealWorld
-> TcTyThing
-> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,U>, Unf=OtherCon []]
$j_sYb8 (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: TcTyThing)
= let {
d53_sXuQ [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLL),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= $fOutputableBndrRdrName1 lbl_atLh}]
d53_sXuQ = $fOutputableBndrRdrName1 lbl_atLh } in
let {
lvl168_sYP6 :: SDocContext -> Doc
[LclId, Arity=1, Str=<L,U(U,U,U)>, Unf=OtherCon []]
lvl168_sYP6
= \ (sty_aTHT :: SDocContext) ->
case d28_r1aZt of wild4_aTHU {
__DEFAULT ->
case d29_r1aZv of wild5_aSI5 {
__DEFAULT ->
case pprQuotedList2
(d53_sXuQ
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aTHT
of wild6_XT16 {
__DEFAULT ->
case d30_r1aZx of wild7_aSI6 {
__DEFAULT ->
Above
(Beside (Beside wild7_aSI6 True wild6_XT16) True wild5_aSI5)
False
wild4_aTHU;
Empty ->
Above (Beside wild6_XT16 True wild5_aSI5) False wild4_aTHU
};
Empty ->
case d30_r1aZx of {
__DEFAULT -> lvl109_r1aZz;
Empty -> lvl110_r1aZA
}
};
Empty ->
case pprQuotedList2
(d53_sXuQ
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aTHT
of wild6_XT1c {
__DEFAULT ->
case d30_r1aZx of wild7_aSI6 {
__DEFAULT ->
Above (Beside wild7_aSI6 True wild6_XT1c) False wild4_aTHU;
Empty -> Above wild6_XT1c False wild4_aTHU
};
Empty ->
case d30_r1aZx of {
__DEFAULT -> lvl111_r1aZB;
Empty -> wild4_aTHU
}
}
};
Empty ->
case d29_r1aZv of wild5_aSI5 {
__DEFAULT ->
case pprQuotedList2
(d53_sXuQ
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aTHT
of wild6_XT16 {
__DEFAULT ->
case d30_r1aZx of wild7_aSI6 {
__DEFAULT ->
Beside (Beside wild7_aSI6 True wild6_XT16) True wild5_aSI5;
Empty -> Beside wild6_XT16 True wild5_aSI5
};
Empty ->
case d30_r1aZx of {
__DEFAULT -> lvl108_r1aZy;
Empty -> wild5_aSI5
}
};
Empty ->
case pprQuotedList2
(d53_sXuQ
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aTHT
of wild6_XSS3 {
__DEFAULT ->
case d30_r1aZx of wild7_aSI6 {
__DEFAULT -> Beside wild7_aSI6 True wild6_XSS3;
Empty -> wild6_XSS3
};
Empty -> d30_r1aZx
}
}
} } in
join {
fail_sXuo [Dmd=<L,1*C1(U(U,U))>]
:: Void# -> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(1)], Arity=1, Str=<L,A>, Unf=OtherCon []]
fail_sXuo _ [Occ=Dead, OS=OneShot]
= checkTc2
@ (HsExpr GhcTcId, TcSigmaType)
(let {
d54_sXuD [Dmd=<L,C(U)>] :: SDoc
[LclId]
d54_sXuD = $fOutputableTcTyThing_$cppr ipv1_aSMo } in
(\ (sty_aSI4 :: SDocContext) ->
case d27_r1aZr of wild4_aSI5 {
__DEFAULT ->
case (d54_sXuD `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aSI4
of wild5_aSI6 {
__DEFAULT -> Beside wild5_aSI6 True wild4_aSI5;
Empty -> wild4_aSI5
};
Empty ->
(d54_sXuD `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aSI4
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
wild_aTU1
ipv_aSMn } in
case ipv1_aSMo of {
__DEFAULT -> jump fail_sXuo void#;
AGlobal ds22_dIR8 ->
case ds22_dIR8 of {
__DEFAULT -> jump fail_sXuo void#;
AnId id_atLC ->
case id_atLC of wild6_aIUi {
__DEFAULT -> case idDetails1 wild6_aIUi of wild7_00 { };
Id ds23_aIUk dt2_aIUl ds24_aIUm ds25_aIUn ds26_aIUo ds27_aIUp ->
case ds26_aIUo of {
__DEFAULT ->
(# ipv_aSMn,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located (IdP GhcTcId)))
noSrcSpan
(wild6_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated SrcSpan (IdP GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <IdP GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess (GenLocated SrcSpan (IdP GhcTcId)))
~R# GenLocated SrcSpan (IdP GhcTcId))),
ds24_aIUm) #);
RecSelId ds28_aIUt ds29_aIUu ->
case ds29_aIUu of {
False ->
(# ipv_aSMn,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located (IdP GhcTcId)))
noSrcSpan
(wild6_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated SrcSpan (IdP GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <IdP GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess (GenLocated SrcSpan (IdP GhcTcId)))
~R# GenLocated SrcSpan (IdP GhcTcId))),
ds24_aIUm) #);
True ->
case checkTc2
@ ()
(lvl168_sYP6
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
wild_aTU1
ipv_aSMn
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
(# ipv2_aTsT,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located (IdP GhcTcId)))
noSrcSpan
(wild6_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated SrcSpan (IdP GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <IdP GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess (GenLocated SrcSpan (IdP GhcTcId)))
~R# GenLocated SrcSpan (IdP GhcTcId))),
ds24_aIUm) #)
}
}
}
};
AConLike cl_atLD ->
case cl_atLD of wild6_X1B {
RealDataCon con_atLE ->
case con_atLE of
{ MkData ds23_aITT ds24_aITU ds25_aITV ds26_aITW ds27_aITX
ds28_aITY ds29_aITZ ds30_aIU0 ds31_aIU1 ds32_aIU2 ds33_aIU3
ds34_aIU4 ds35_aIU5 ds36_aIU6 ds37_aIU7 ds38_aIU8 ds39_aIU9
ds40_aIUa ds18_aIUb ds19_aIUc ds20_aIUd ds21_aIUe ->
case ds32_aIU2 of wild8_aSK1 {
[] ->
(# ipv_aSMn,
(HsConLikeOut
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XConLikeOutGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XConLikeOut (GhcPass 'Typechecked)))
wild6_X1B,
$wdataConUserType ds29_aITZ ds31_aIU1 ds33_aIU3 ds34_aIU4) #);
: ds41_aSK5 ds42_aSK6 ->
let {
w_aE9Z [Dmd=<S,U>] :: Type
[LclId]
w_aE9Z
= $wdataConUserType ds29_aITZ ds31_aIU1 ds33_aIU3 ds34_aIU4 } in
case $wsplit4 w_aE9Z w_aE9Z ([] @ TyCoVar) of
{ (# ww1_aEa2, ww2_aEa3 #) ->
case $wsplit1 ww2_aEa3 ([] @ PredType) of
{ (# ww5_aEa7, ww6_aEa8 #) ->
case (((($wmapAccumLM
@ (IOEnv (Env TcGblEnv TcLclEnv))
@ TCvSubst
@ TyVar
@ TcTyVar
(($fMonadIOEnv1 @ (Env TcGblEnv TcLclEnv))
`cast` (forall (a :: <*>_N) (b :: <*>_N).
<IOEnv (Env TcGblEnv TcLclEnv) a>_R
->_R <a -> IOEnv (Env TcGblEnv TcLclEnv) b>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <b>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<b>_R)
:: (forall a b.
IOEnv (Env TcGblEnv TcLclEnv) a
-> (a -> IOEnv (Env TcGblEnv TcLclEnv) b)
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, b #))
~R# (forall a b.
IOEnv (Env TcGblEnv TcLclEnv) a
-> (a -> IOEnv (Env TcGblEnv TcLclEnv) b)
-> IOEnv (Env TcGblEnv TcLclEnv) b)))
(($fApplicativeIOEnv5 @ (Env TcGblEnv TcLclEnv))
`cast` (forall (a :: <*>_N).
<a>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <a>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<a>_R)
:: (forall a.
a
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, a #))
~R# (forall a.
a -> IOEnv (Env TcGblEnv TcLclEnv) a)))
newMetaTyVarX
emptyTCvSubst
ww1_aEa2)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(TCvSubst, [TcTyVar])>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (TCvSubst, [TcTyVar])
~R# (Env TcGblEnv TcLclEnv
-> IO (TCvSubst, [TcTyVar]))))
wild_aTU1)
`cast` (N:IO[0] <(TCvSubst, [TcTyVar])>_R
:: IO (TCvSubst, [TcTyVar])
~R# (State# RealWorld
-> (# State# RealWorld,
(TCvSubst, [TcTyVar]) #))))
ipv_aSMn
of
{ (# ipv2_XSSy, ipv3_XSSA #) ->
case ipv3_XSSA of { (subst_atLt, tvs'_atLu) ->
case subst_atLt of { TCvSubst ww8_aISk ww9_aISl ww3_aISp ->
case ((((instCallConstraints
(OccurrenceOf wild1_aTU8)
($wsubstTys ww8_aISk ww9_aISl ww3_aISp ww5_aEa7))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
wild_aTU1)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld
-> (# State# RealWorld, HsWrapper #))))
ipv2_XSSy
of
{ (# ipv4_aIS2, ipv5_aIS3 #) ->
let {
tys'_sXut :: [Type]
[LclId]
tys'_sXut = map @ Var @ Type TyVarTy tvs'_atLu } in
case (((($waddDataConStupidTheta
ds23_aITT ds27_aITX wild8_aSK1 tys'_sXut)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <()>_R
:: IOEnv (Env TcGblEnv TcLclEnv) ()
~R# (Env TcGblEnv TcLclEnv -> IO ())))
wild_aTU1)
`cast` (N:IO[0] <()>_R
:: IO ()
~R# (State# RealWorld -> (# State# RealWorld, () #))))
ipv4_aIS2
of
{ (# ipv6_aTsT, ipv7_aTsU #) ->
(# ipv6_aTsT,
(case ipv5_aIS3 of wild10_aIS5 {
__DEFAULT ->
case mkWpTyApps_go tys'_sXut of wild11_aIS6 {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCompose wild10_aIS5 wild11_aIS6)
(HsConLikeOut
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XConLikeOutGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XConLikeOut (GhcPass 'Typechecked)))
wild6_X1B);
WpHole ->
mkHsWrap
@ 'Typechecked
wild10_aIS5
(HsConLikeOut
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XConLikeOutGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XConLikeOut (GhcPass 'Typechecked)))
wild6_X1B)
};
WpHole ->
mkHsWrap
@ 'Typechecked
(mkWpTyApps_go tys'_sXut)
(HsConLikeOut
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XConLikeOutGhcPass[0]
<'Typechecked>_N))
:: NoExt ~R# XConLikeOut (GhcPass 'Typechecked)))
wild6_X1B)
},
case ww9_aISl
`cast` (N:UniqFM[0] <Type>_N :: UniqFM Type ~R# IntMap Type)
of wild10_aYa4 {
__DEFAULT ->
subst_ty
(TCvSubst
ww8_aISk
(wild10_aYa4
`cast` (Sym (N:UniqFM[0]) <Type>_N
:: IntMap Type ~R# UniqFM Type))
ww3_aISp)
ww6_aEa8;
Nil ->
case ww3_aISp
`cast` (N:UniqFM[0] <Coercion>_N
:: UniqFM Coercion ~R# IntMap Coercion)
of wild11_aYa7 {
__DEFAULT ->
subst_ty
(TCvSubst
ww8_aISk
((Nil @ Type)
`cast` (Sym (N:UniqFM[0]) <Type>_N
:: IntMap Type ~R# UniqFM Type))
(wild11_aYa7
`cast` (Sym (N:UniqFM[0]) <Coercion>_N
:: IntMap Coercion ~R# UniqFM Coercion)))
ww6_aEa8;
Nil -> ww6_aEa8
}
}) #)
}
}
}
}
}
}
}
}
};
PatSynCon ps_atLF ->
((((tcPatSynBuilderOcc ps_atLF)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsExpr GhcTcId, TcSigmaType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId, TcSigmaType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsExpr GhcTcId, TcSigmaType))))
wild_aTU1)
`cast` (N:IO[0] <(HsExpr GhcTcId, TcSigmaType)>_R
:: IO (HsExpr GhcTcId, TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #))))
ipv_aSMn
}
};
ATcId ds22_dIR6 ds23_dIR7 ->
case ds22_dIR6 of wild5_aIUi {
__DEFAULT -> case idDetails1 wild5_aIUi of wild6_00 { };
Id ds24_aIUk dt2_aIUl ds25_aIUm ds26_aIUn ds27_aIUo ds28_aIUp ->
case ds24_aIUk of ww_s19ay
{ Name ww1_s19az ww2_s19aA ww3_s19aB ww4_s19aC ->
join {
$w$j_s16uU [InlPrag=NOUSERINLINE[2], Dmd=<L,1*C1(U(U,U))>]
:: State# RealWorld
-> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(1)], Arity=1, Str=<L,U>, Unf=OtherCon []]
$w$j_s16uU (w_s16uS [OS=OneShot] :: State# RealWorld)
= join {
$j1_sYb0 [Dmd=<C(C(S)),1*C1(C1(U(U,U)))>]
:: State# RealWorld
-> Maybe (TopLevelFlag, ThLevel, ThStage)
-> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,1*U>, Unf=OtherCon []]
$j1_sYb0 (ipv2_XSSk [OS=OneShot] :: State# RealWorld)
(ipv3_XSSm [OS=OneShot]
:: Maybe (TopLevelFlag, ThLevel, ThStage))
= case ipv3_XSSm of {
Nothing ->
(# ipv2_XSSk,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located (IdP GhcTcId)))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan (IdP GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <IdP GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (IdP GhcTcId)))
~R# GenLocated SrcSpan (IdP GhcTcId))),
ds25_aIUm) #);
Just ds29_dHy8 ->
case ds29_dHy8 of
{ (top_lvl_atMr, bind_lvl_atMs, use_stage_atMt) ->
case thLevel use_stage_atMt of { I# x_aTRh ->
case bind_lvl_atMs of { I# y_aTRl ->
case ># x_aTRh y_aTRl of {
__DEFAULT ->
(# ipv2_XSSk,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located (IdP GhcTcId)))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan (IdP GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <IdP GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (IdP GhcTcId)))
~R# GenLocated SrcSpan (IdP GhcTcId))),
ds25_aIUm) #);
1# ->
case use_stage_atMt of {
__DEFAULT ->
(# ipv2_XSSk,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located (IdP GhcTcId)))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan (IdP GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan (IdP GhcTcId)))
~R# GenLocated
SrcSpan (IdP GhcTcId))),
ds25_aIUm) #);
Brack ds30_dHxP ds31_dHxQ ->
case ds31_dHxQ of {
__DEFAULT ->
(# ipv2_XSSk,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located (IdP GhcTcId)))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan
(IdP GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan (IdP GhcTcId)))
~R# GenLocated
SrcSpan (IdP GhcTcId))),
ds25_aIUm) #);
TcPending ps_var_atMw lie_var_atMx ->
case top_lvl_atMr of {
TopLevel ->
join {
$j2_sYaV [Dmd=<L,1*U(U,U)>]
:: (# State# RealWorld,
(HsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(0)]]
$j2_sYaV
= case keepAlive1
ww_s19ay wild_aTU1 ipv2_XSSk
of
{ (# ipv4_XTzc, ipv5_XTze #) ->
(# ipv4_XTzc,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar
(GhcPass
'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess
(Located (IdP GhcTcId)))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan
(IdP
GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(IdP GhcTcId)))
~R# GenLocated
SrcSpan
(IdP GhcTcId))),
ds25_aIUm) #)
} } in
case ww1_s19az of {
__DEFAULT ->
(# ipv2_XSSk,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar
(GhcPass
'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess
(Located (IdP GhcTcId)))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan
(IdP
GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(IdP GhcTcId)))
~R# GenLocated
SrcSpan
(IdP GhcTcId))),
ds25_aIUm) #);
External ds32_aEDs -> jump $j2_sYaV;
WiredIn ds32_aEDu ds33_aEDv ds34_aEDw ->
jump $j2_sYaV
};
NotTopLevel ->
join {
$w$j1_s16uP [InlPrag=NOUSERINLINE[2],
Dmd=<L,1*C1(U(U,U))>]
:: State# RealWorld
-> (# State# RealWorld,
(HsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(1)],
Arity=1,
Str=<L,U>,
Unf=OtherCon []]
$w$j1_s16uP (w1_s16uN [OS=OneShot]
:: State# RealWorld)
= join {
$j2_sYaJ [Dmd=<L,1*C1(C1(U(U,U)))>]
:: State# RealWorld
-> HsExpr GhcTcId
-> (# State# RealWorld,
(HsExpr GhcTcId,
TcSigmaType) #)
[LclId[JoinId(2)],
Arity=2,
Str=<L,U><L,U>,
Unf=OtherCon []]
$j2_sYaJ (ipv4_XSTo [OS=OneShot]
:: State# RealWorld)
(ipv5_XSTq [OS=OneShot]
:: HsExpr GhcTcId)
= case ps_var_atMw
`cast` (N:IORef[0] <[PendingTcSplice]>_N
:: IORef
[PendingTcSplice]
~R# STRef
RealWorld
[PendingTcSplice])
of
{ STRef var#_aTYr ->
case readMutVar#
@ RealWorld
@ [PendingTcSplice]
var#_aTYr
ipv4_XSTo
of
{ (# ipv6_XSTv, ipv7_XSTx #) ->
case writeMutVar#
@ RealWorld
@ [PendingTcSplice]
var#_aTYr
(: @ PendingTcSplice
(PendingTcSplice
ww_s19ay
((L @ SrcSpan
@ (SrcSpanLess
(LHsExpr
(GhcPass
'Typechecked)))
noSrcSpan
((HsApp
@ (GhcPass
'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XAppGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XApp
(GhcPass
'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess
(LHsExpr
(GhcPass
'Typechecked)))
noSrcSpan
(ipv5_XSTq
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr
(GhcPass
'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))
~R# GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))
(let {
e_sYaF
:: GenLocated
SrcSpan
(SrcSpanLess
(Located
(IdP
(GhcPass
'Typechecked))))
[LclId,
Unf=OtherCon []]
e_sYaF
= L @ SrcSpan
@ (SrcSpanLess
(Located
(IdP
(GhcPass
'Typechecked))))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
(GhcPass
'Typechecked)>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan
(IdP
(GhcPass
'Typechecked))))) } in
let {
e1_sYaG [Dmd=<S,U>]
:: HsExpr
(GhcPass
'Typechecked)
[LclId,
Unf=OtherCon []]
e1_sYaG
= HsVar
@ (GhcPass
'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar
(GhcPass
'Typechecked)))
(e_sYaF
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
(GhcPass
'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(IdP
(GhcPass
'Typechecked))))
~R# GenLocated
SrcSpan
(IdP
(GhcPass
'Typechecked)))) } in
case hsExprNeedsParens
@ (GhcPass
'Typechecked)
(appPrec1
`cast` (Sym (N:PprPrec[0])
:: Int
~R# PprPrec))
e1_sYaG
of {
False ->
(L @ SrcSpan
@ (SrcSpanLess
(LHsExpr
(GhcPass
'Typechecked)))
noSrcSpan
(e1_sYaG
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr
(GhcPass
'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))
~R# GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)));
True ->
(L @ SrcSpan
@ (SrcSpanLess
(LHsExpr
(GhcPass
'Typechecked)))
noSrcSpan
((HsPar
@ (GhcPass
'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XParGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XPar
(GhcPass
'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess
(LHsExpr
(GhcPass
'Typechecked)))
noSrcSpan
(e1_sYaG
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr
(GhcPass
'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))
~R# GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)))))
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr
(GhcPass
'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))
~R# GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)))
}))
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr
(GhcPass
'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))
~R# GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)))))
ipv7_XSTx)
ipv6_XSTv
of s2#_aTYF
{ __DEFAULT ->
(# s2#_aTYF,
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar
(GhcPass
'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess
(Located
(IdP GhcTcId)))
noSrcSpan
(wild5_aIUi
`cast` (Sub (Sym (D:R:IdPGhcPass[0])) ; Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N))
:: Id
~R# SrcSpanLess
(GenLocated
SrcSpan
(IdP
GhcTcId)))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<IdP
GhcTcId>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(IdP
GhcTcId)))
~R# GenLocated
SrcSpan
(IdP
GhcTcId))),
ds25_aIUm) #)
}
}
} } in
case isStringTy ds25_aIUm of {
False ->
case newMethodFromName1
(OccurrenceOf ww_s19ay)
liftName
(: @ TcRhoType
(getRuntimeRep2 ds25_aIUm)
(: @ TcRhoType
ds25_aIUm
([] @ TcRhoType)))
(Env
@ TcGblEnv
@ TcLclEnv
ds_aTU3
dt_aTU4
ds1_aTU5
(TcLclEnv
ds6_aTUh
ds7_aTUi
ds8_aTUj
ds9_aTUk
ds10_aTUl
ds11_aTUm
ds12_aTUn
ds13_aTUo
ds14_aTUp
ds15_aTUq
lie_var_atMx
ds17_aTUs))
w1_s16uN
of
{ (# ipv4_XSTo, ipv5_XSTq #) ->
jump $j2_sYaJ ipv4_XSTo ipv5_XSTq
};
True ->
case tcLookupId1
liftStringName
wild_aTU1
w1_s16uN
of
{ (# ipv4_XSTs, ipv5_XSTu #) ->
jump $j2_sYaJ
ipv4_XSTs
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar
(GhcPass
'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv5_XSTu
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N))
:: Var
~R# SrcSpanLess
(GenLocated
SrcSpan
Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan Var))
~R# GenLocated
SrcSpan
(IdP GhcTc))))
}
} } in
case isTauTy ds25_aIUm of {
False ->
let {
d54_sXuy [Dmd=<L,C(U)>]
:: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLS),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=Unf{Src=InlineStable, TopLvl=False,
Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= $fOutputableVar2
wild5_aIUi}]
d54_sXuy
= $fOutputableVar2 wild5_aIUi } in
case checkTc2
@ ()
((\ (sty_aSI4 :: SDocContext) ->
case pprQuotedList2
(d54_sXuy
`cast` (Sym (N:SDoc[0])
:: (SDocContext
-> Doc)
~R# SDoc))
sty_aSI4
of wild14_aSI5 {
__DEFAULT ->
case d26_r1aZp
of wild15_aSI6 {
__DEFAULT ->
Beside
wild15_aSI6
True
wild14_aSI5;
Empty -> wild14_aSI5
};
Empty -> d26_r1aZp
})
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc)
~R# SDoc))
wild_aTU1
ipv2_XSSk
of
{ (# ipv4_XTzu, ipv5_XTzw #) ->
jump $w$j1_s16uP ipv4_XTzu
};
True -> jump $w$j1_s16uP ipv2_XSSk
}
}
}
}
}
}
}
}
} } in
case $wlookup
@ (TopLevelFlag, ThLevel)
ww3_s19aB
(ds10_aTUl
`cast` (N:UniqFM[0] <(TopLevelFlag, ThLevel)>_N
:: UniqFM (TopLevelFlag, ThLevel)
~R# IntMap (TopLevelFlag, ThLevel)))
of {
Nothing ->
jump $j1_sYb0 w_s16uS (Nothing @ (TopLevelFlag, ThLevel, ThStage));
Just ds29_aYaq ->
case ds29_aYaq of { (top_lvl_aYau, bind_lvl_aYav) ->
jump $j1_sYb0
w_s16uS
(Just
@ (TopLevelFlag, ThLevel, ThStage)
(top_lvl_aYau, bind_lvl_aYav, ds9_aTUk))
}
} } in
case ds27_aIUo of {
__DEFAULT -> jump $w$j_s16uU ipv_aSMn;
RecSelId ds29_aIUt ds30_aIUu ->
case ds30_aIUu of {
False -> jump $w$j_s16uU ipv_aSMn;
True ->
case checkTc2
@ ()
(lvl168_sYP6
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
wild_aTU1
ipv_aSMn
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
jump $w$j_s16uU ipv2_aTsT
}
}
}
}
}
} } in
case $wlookup
@ TcTyThing
dt1_aTUc
(ds13_aTUo
`cast` (N:UniqFM[0] <TcTyThing>_N
:: UniqFM TcTyThing ~R# IntMap TcTyThing))
of {
Nothing ->
case $fMonadThingsIOEnv2 wild1_aTU8 wild_aTU1 eta1_B1 of
{ (# ipv_aTUz, ipv1_aTUA #) ->
jump $j_sYb8 ipv_aTUz (AGlobal ipv1_aTUA)
};
Just thing_aTUD -> jump $j_sYb8 eta1_B1 thing_aTUD
}
}
}
}
tcCheckId4
:: Name
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #)
[GblId,
Arity=3,
Str=<S,1*U(U,U(U,U(U,U,U,U,U,U,U)),U,U)><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
tcCheckId4
= \ (id_name_atL9 :: Name)
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case id_name_atL9 of wild_aU9D
{ Name ds1_aU9F ds2_aU9G dt_aU9H ds3_aU9I ->
case tagToEnumKey `cast` (N:Unique[0] :: Unique ~R# Int) of
{ I# y_aIV9 ->
case ==# dt_aU9H y_aIV9 of {
__DEFAULT ->
case dt_aU9H of {
__DEFAULT ->
case tc_infer_id_r1aZC (Exact wild_aU9D) wild_aU9D eta_B2 eta1_B1
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of wild3_X1v { (expr_atLb, ty_atLc) ->
case traceTc1
lvl107_r1aZn
((\ (sty_XSOb :: SDocContext) ->
case $fOutputableTyCoBinder3
emptyTidyEnv
($fShowFractionalLit2
`cast` (Sym (N:PprPrec[0]) :: Int ~R# PprPrec))
ty_atLc
sty_XSOb
of wild4_aSI5 {
__DEFAULT ->
case dcolon1 sty_XSOb of wild5_XT1K {
__DEFAULT ->
case $fOutputableBndrName1 wild_aU9D sty_XSOb of wild6_aSI6 {
__DEFAULT ->
Beside (Beside wild6_aSI6 True wild5_XT1K) True wild4_aSI5;
Empty -> Beside wild5_XT1K True wild4_aSI5
};
Empty ->
case $fOutputableBndrName1 wild_aU9D sty_XSOb of wild6_aSI6 {
__DEFAULT -> Beside wild6_aSI6 True wild4_aSI5;
Empty -> wild4_aSI5
}
};
Empty ->
case dcolon1 sty_XSOb of wild5_XSSy {
__DEFAULT ->
case $fOutputableBndrName1 wild_aU9D sty_XSOb of wild6_aSI6 {
__DEFAULT -> Beside wild6_aSI6 True wild5_XSSy;
Empty -> wild5_XSSy
};
Empty -> $fOutputableBndrName1 wild_aU9D sty_XSOb
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
eta_B2
ipv_aSMn
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
(# ipv2_aTsT, wild3_X1v #)
}
}
};
3458764513820540972# ->
case eta_B2 of wild3_aSC4
{ Env ds_aSC6 dt1_aSC7 ds4_aSC8 ds5_aSC9 ->
case ds_aSC6 of
{ HscEnv ds6_s19aF ds7_s19aG ds8_s19aH ds9_s19aI ds10_s19aJ
dt2_s19aK dt3_s19aL dt4_s19aM ds11_s19aN ds12_s19aO ds13_s19aP ->
case ds6_s19aF of
{ DynFlags ipv_aSyw ipv1_aSyx ipv2_aSyy ipv3_aSyz ipv4_aSyA
ipv5_aSyB ipv6_aSyC ipv7_aSyD ipv8_aSyE ipv9_aSyF ipv10_aSyG
ipv11_aSyH ipv12_aSyI ipv13_aSyJ ipv14_aSyK ipv15_aSyL ipv16_aSyM
ipv17_aSyN ipv18_aSyO ipv19_aSyP ipv20_aSyQ ipv21_aSyR ipv22_aSyS
ipv23_aSyT ipv24_aSyU ipv25_aSyV ipv26_aSyW ipv27_aSyX ipv28_aSyY
ipv29_aSyZ ipv30_aSz0 ipv31_aSz1 ipv32_aSz2 ipv33_aSz3 ipv34_aSz4
ipv35_aSz5 ipv36_aSz6 ipv37_aSz7 ipv38_aSz8 ipv39_aSz9 ipv40_aSza
ipv41_aSzb ipv42_aSzc ipv43_aSzd ipv44_aSze ipv45_aSzf ipv46_aSzg
ipv47_aSzh ipv48_aSzi ipv49_aSzj ipv50_aSzk ipv51_aSzl ipv52_aSzm
ipv53_aSzn ipv54_aSzo ipv55_aSzp ipv56_aSzq ipv57_aSzr ipv58_aSzs
ipv59_aSzt ipv60_aSzu ipv61_aSzv ipv62_aSzw ipv63_aSzx ipv64_aSzy
ipv65_aSzz ipv66_aSzA ipv67_aSzB ipv68_aSzC ipv69_aSzD ipv70_aSzE
ipv71_aSzF ipv72_aSzG ipv73_aSzH ipv74_aSzI ipv75_aSzJ ipv76_aSzK
ipv77_aSzL ipv78_aSzM ipv79_aSzN ipv80_aSzO ipv81_aSzP ipv82_aSzQ
ipv83_aSzR ipv84_aSzS ipv85_aSzT ipv86_aSzU ipv87_aSzV ipv88_aSzW
ipv89_aSzX ipv90_aSzY ipv91_aSzZ ipv92_aSA0 ipv93_aSA1 ipv94_aSA2
ipv95_aSA3 ipv96_aSA4 ipv97_aSA5 ipv98_aSA6 ipv99_aSA7 ipv100_aSA8
ipv101_aSA9 ipv102_aSAa ipv103_aSAb ipv104_aSAc ipv105_aSAd
ipv106_aSAe ipv107_aSAf ipv108_aSAg ipv109_aSAh ipv110_aSAi
ipv111_aSAj ipv112_aSAk ipv113_aSAl ipv114_aSAm ipv115_aSAn
ipv116_aSAo ipv117_aSAp ipv118_aSAq ipv119_aSAr ipv120_aSAs
ipv121_aSAt ipv122_aSAu ipv123_aSAv ipv124_aSAw ipv125_aSAx
ipv126_aSAy ipv127_aSAz ipv128_aSAA ipv129_aSAB ipv130_aSAC
ipv131_aSAD ipv132_aSAE ipv133_aSAF ipv134_aSAG ipv135_aSAH
ipv136_aSAI ipv137_aSAJ ipv138_aSAK ipv139_aSAL ipv140_aSAM
ipv141_aSAN ipv142_aSAO ipv143_aSAP ipv144_aSAQ ipv145_aSAR
ipv146_aSAS ipv147_aSAT ipv148_aSAU ipv149_aSAV ipv150_aSAW
ipv151_aSAX ipv152_aSAY ipv153_aSAZ ipv154_aSB0 ipv155_aSB1
ipv156_aSB2 ipv157_aSB3 ipv158_aSB4 ipv159_aSB5 ipv160_aSB6
ipv161_aSB7 ipv162_aSB8 ipv163_aSB9 ipv164_aSBa ipv165_aSBb
ipv166_aSBc ipv167_aSBd ipv168_aSBe ipv169_aSBf ipv170_aSBg
ipv171_aSBh ipv172_aSBi ipv173_aSBj ipv174_aSBk ipv175_aSBl
ipv176_aSBm ipv177_aSBn ipv178_aSBo ipv179_aSBp ipv180_aSBq
ipv181_aSBr ipv182_aSBs ipv183_aSBt ipv184_aSBu ipv185_aSBv
ipv186_aSBw ipv187_aSBx ipv188_aSBy ipv189_aSBz ipv190_aSBA
ipv191_aSBB ipv192_aSBC ipv193_aSBD ipv194_aSBE ipv195_aSBF
ipv196_aSBG ipv197_aSBH ipv198_aSBI ipv199_aSBJ ipv200_aSBK
ipv201_aSBL ipv202_aSBM ipv203_aSBN ipv204_aSBO ipv205_aSBP
ipv206_aSBQ ipv207_aSBR ipv208_aSBS ipv209_aSBT ipv210_aSBU
ipv211_aSBV ipv212_aSBW ipv213_aSBX ipv214_aSBY ipv215_aSBZ ->
case $wmember
42#
(ipv157_aSB3
`cast` (N:EnumSet[0] <GeneralFlag>_P
:: EnumSet GeneralFlag ~R# IntSet))
of {
False ->
case tcLookupId1 assertErrorName wild3_aSC4 eta1_B1 of
{ (# ipv232_XSVR, ipv233_XSVT #) ->
join {
$j_sYbg [Dmd=<L,1*C1(C1(U(U,U)))>]
:: State# RealWorld
-> (HsWrapper, TcRhoType)
-> (# State# RealWorld, (HsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(2)],
Arity=2,
Str=<L,U><S,1*U(1*U,U)>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Tmpl= \ (ipv234_XSVY [Occ=Once, OS=OneShot] :: State# RealWorld)
(ipv235_XSW0 [Occ=Once!, OS=OneShot]
:: (HsWrapper, TcRhoType)) ->
case ipv235_XSW0 of
{ (wrap_atLf [Occ=Once], id_rho_atLg [Occ=Once]) ->
(# ipv234_XSVY,
(mkHsWrap
@ 'Typechecked
wrap_atLf
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv233_XSVT
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var
~R# SrcSpanLess
(GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated
SrcSpan
(SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc)))),
id_rho_atLg) #)
}}]
$j_sYbg (ipv234_XSVY [OS=OneShot] :: State# RealWorld)
(ipv235_XSW0 [OS=OneShot] :: (HsWrapper, TcRhoType))
= case ipv235_XSW0 of { (wrap_atLf, id_rho_atLg) ->
(# ipv234_XSVY,
(mkHsWrap
@ 'Typechecked
wrap_atLf
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv233_XSVT
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc)))),
id_rho_atLg) #)
} } in
case ipv233_XSVT of {
TyVar ds15_aTGD dt5_aTGE ds16_aTGF ->
case ((((top_instantiate True (OccurrenceOf wild_aU9D) ds16_aTGF)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
~R# (Env TcGblEnv TcLclEnv -> IO (HsWrapper, TcRhoType))))
wild3_aSC4)
`cast` (N:IO[0] <(HsWrapper, TcRhoType)>_R
:: IO (HsWrapper, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsWrapper, TcRhoType) #))))
ipv232_XSVR
of
{ (# ipv234_XSVY, ipv235_XSW0 #) ->
jump $j_sYbg ipv234_XSVY ipv235_XSW0
};
TcTyVar ds15_aTGI dt5_aTGJ ds16_aTGK ds17_aTGL ->
case ((((top_instantiate True (OccurrenceOf wild_aU9D) ds16_aTGK)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
~R# (Env TcGblEnv TcLclEnv -> IO (HsWrapper, TcRhoType))))
wild3_aSC4)
`cast` (N:IO[0] <(HsWrapper, TcRhoType)>_R
:: IO (HsWrapper, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsWrapper, TcRhoType) #))))
ipv232_XSVR
of
{ (# ipv234_XSVY, ipv235_XSW0 #) ->
jump $j_sYbg ipv234_XSVY ipv235_XSW0
};
Id ds15_aTGO dt5_aTGP ds16_aTGQ ds17_aTGR ds18_aTGS ds19_aTGT ->
case ((((top_instantiate True (OccurrenceOf wild_aU9D) ds16_aTGQ)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
~R# (Env TcGblEnv TcLclEnv -> IO (HsWrapper, TcRhoType))))
wild3_aSC4)
`cast` (N:IO[0] <(HsWrapper, TcRhoType)>_R
:: IO (HsWrapper, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsWrapper, TcRhoType) #))))
ipv232_XSVR
of
{ (# ipv234_XSVY, ipv235_XSW0 #) ->
jump $j_sYbg ipv234_XSVY ipv235_XSW0
}
}
};
True ->
tc_infer_id_r1aZC (Exact wild_aU9D) wild_aU9D wild3_aSC4 eta1_B1
}
}
}
}
};
1# ->
checkTc2
@ (HsExpr GhcTcId, TcSigmaType)
(lvl105_r1aZl
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
eta_B2
eta1_B1
}
}
}
a#37_r1aZD :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#37_r1aZD = "takes"#
d31_r1aZE :: Doc
[GblId]
d31_r1aZE
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#37_r1aZD realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#37_r1aZD ds1_a10iv) ds1_a10iv Empty
}
a#38_r1aZF :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#38_r1aZF = "The operator"#
d32_r1aZG :: Doc
[GblId]
d32_r1aZG
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#38_r1aZF realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#38_r1aZF ds1_a10iv) ds1_a10iv Empty
}
lvl112_r1aZH :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl112_r1aZH = Beside d32_r1aZG True d31_r1aZE
mk_op_msg_rpGN :: LHsExpr GhcRn -> SDoc
[GblId, Arity=1, Str=<L,1*U(U,U)>, Unf=OtherCon []]
mk_op_msg_rpGN
= \ (op_atGN :: LHsExpr GhcRn) ->
let {
d53_sXuY [Dmd=<L,C(U)>] :: SDoc
[LclId]
d53_sXuY
= case op_atGN of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
ww1_aTSp
ww2_aTSq
} } in
(\ (sty_XSNB :: SDocContext) ->
case d31_r1aZE of wild_aSI5 {
__DEFAULT ->
case pprQuotedList2 d53_sXuY sty_XSNB of wild1_XT0O {
__DEFAULT ->
case d32_r1aZG of wild2_aSI6 {
__DEFAULT ->
Beside (Beside wild2_aSI6 True wild1_XT0O) True wild_aSI5;
Empty -> Beside wild1_XT0O True wild_aSI5
};
Empty ->
case d32_r1aZG of {
__DEFAULT -> lvl112_r1aZH;
Empty -> wild_aSI5
}
};
Empty ->
case pprQuotedList2 d53_sXuY sty_XSNB of wild1_XSS2 {
__DEFAULT ->
case d32_r1aZG of wild2_aSI6 {
__DEFAULT -> Beside wild2_aSI6 True wild1_XSS2;
Empty -> wild1_XSS2
};
Empty -> d32_r1aZG
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
addExprErrCtxt_a# :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 60 0}]
addExprErrCtxt_a# = "In the expression:"#
addExprErrCtxt3 :: RDoc
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
addExprErrCtxt3
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
addExprErrCtxt_a# realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
reduceDoc
(TextBeside (LStr addExprErrCtxt_a# ds1_a10iv) ds1_a10iv Empty)
}
addExprErrCtxt2 :: LHsExpr GhcRn -> SDocContext -> Doc
[GblId,
Arity=1,
Str=<L,1*U(U,U)>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 210 60}]
addExprErrCtxt2
= \ (expr_atOS :: LHsExpr GhcRn) ->
let {
d53_sXv2 [Dmd=<L,C(U)>] :: SDoc
[LclId]
d53_sXv2
= case expr_atOS of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
ww1_aTSp
ww2_aTSq
} } in
\ (sty_aTSa :: SDocContext) ->
$wsep1
True
addExprErrCtxt3
0#
(: @ Doc
($wmkNest
2#
(reduceDoc
((d53_sXv2 `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aTSa)))
([] @ Doc))
addExprErrCtxt1
:: forall a.
LHsExpr GhcRn
-> IOEnv (Env TcGblEnv TcLclEnv) a -> Env TcGblEnv TcLclEnv -> IO a
[GblId,
Arity=1,
Str=<L,1*U(U,U)>,
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= \ (@ a_av9o) (expr_atOR [Occ=Once] :: LHsExpr GhcRn) ->
addErrCtxt1
@ a_av9o
((addExprErrCtxt2 expr_atOR)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))}]
addExprErrCtxt1
= \ (@ a_av9o) (expr_atOR :: LHsExpr GhcRn) ->
addErrCtxt1
@ a_av9o
((addExprErrCtxt2 expr_atOR)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
addExprErrCtxt :: forall a. LHsExpr GhcRn -> TcM a -> TcM a
[GblId,
Arity=1,
Str=<L,1*U(U,U)>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)
Tmpl= addExprErrCtxt1
`cast` (forall (a :: <*>_N).
<LHsExpr GhcRn>_R
->_R <IOEnv (Env TcGblEnv TcLclEnv) a>_R
->_R Sym (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a>_R)
:: (forall a.
LHsExpr GhcRn
-> IOEnv (Env TcGblEnv TcLclEnv) a
-> Env TcGblEnv TcLclEnv
-> IO a)
~R# (forall a.
LHsExpr GhcRn
-> IOEnv (Env TcGblEnv TcLclEnv) a
-> IOEnv (Env TcGblEnv TcLclEnv) a))}]
addExprErrCtxt
= addExprErrCtxt1
`cast` (forall (a :: <*>_N).
<LHsExpr GhcRn>_R
->_R <IOEnv (Env TcGblEnv TcLclEnv) a>_R
->_R Sym (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a>_R)
:: (forall a.
LHsExpr GhcRn
-> IOEnv (Env TcGblEnv TcLclEnv) a
-> Env TcGblEnv TcLclEnv
-> IO a)
~R# (forall a.
LHsExpr GhcRn
-> IOEnv (Env TcGblEnv TcLclEnv) a
-> IOEnv (Env TcGblEnv TcLclEnv) a))
a#39_r1aZI :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#39_r1aZI = "is applied to too few arguments"#
d33_r1aZJ :: Doc
[GblId]
d33_r1aZJ
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#39_r1aZI realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#39_r1aZI ds1_a10iv) ds1_a10iv Empty
}
a#40_r1aZK :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#40_r1aZK = "Probable cause:"#
d34_r1aZL :: Doc
[GblId]
d34_r1aZL
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#40_r1aZK realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#40_r1aZK ds1_a10iv) ds1_a10iv Empty
}
a#41_r1aZM :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#41_r1aZM = "is applied to too many arguments"#
d35_r1aZN :: Doc
[GblId]
d35_r1aZN
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#41_r1aZM realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#41_r1aZM ds1_a10iv) ds1_a10iv Empty
}
a#42_r1aZO :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#42_r1aZO = "Possible cause:"#
d36_r1aZP :: Doc
[GblId]
d36_r1aZP
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#42_r1aZO realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#42_r1aZO ds1_a10iv) ds1_a10iv Empty
}
lvl113_r1aZQ :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl113_r1aZQ = Beside d34_r1aZL True d33_r1aZJ
lvl114_r1aZR :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl114_r1aZR = Beside d36_r1aZP True d35_r1aZN
tcCheckId1
:: forall a.
Bool
-> HsExpr GhcRn
-> TcType
-> ExpRhoType
-> IOEnv (Env TcGblEnv TcLclEnv) a
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, a #)
[GblId,
Arity=7,
Str=<L,U><L,U><L,U><L,U><C(C(S)),1*C1(C1(U(U,U)))><L,1*U(U,U,U,1*U(U,U,U,U,U,U,U,U,U,U,U,U))><L,U>,
Unf=OtherCon []]
tcCheckId1
= \ (@ a_auZt)
(has_args_atOU :: Bool)
(fun_atOV :: HsExpr GhcRn)
(fun_res_ty_atOW :: TcType)
(env_ty_atOX :: ExpRhoType)
(eta_B3 :: IOEnv (Env TcGblEnv TcLclEnv) a_auZt)
(eta1_B2 :: Env TcGblEnv TcLclEnv)
(eta2_B1 :: State# RealWorld) ->
(((eta_B3
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_auZt>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_auZt
~R# (Env TcGblEnv TcLclEnv -> IO a_auZt)))
(case eta1_B2 of { Env ds_aTRJ dt_aTRK ds1_aTRL ds2_aTRM ->
Env
@ TcGblEnv
@ TcLclEnv
ds_aTRJ
dt_aTRK
ds1_aTRL
(case ds2_aTRM of
{ TcLclEnv ds3_aTRQ ds4_aTRR ds5_aTRS ds6_aTRT ds7_aTRU ds8_aTRV
ds9_aTRW ds10_aTRX ds11_aTRY ds12_aTRZ ds13_aTS0 ds14_aTS1 ->
let {
d53_sXvF [Dmd=<L,C(U)>] :: SDoc
[LclId]
d53_sXvF
= $wpprExpr
@ 'Renamed
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (NameOrRdrName (IdP GhcRn))))
($fOutputableBndrName
`cast` ((OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_R
:: OutputableBndr Name ~R# OutputableBndr (IdP GhcRn)))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_R
:: OutputableBndr Name
~R# OutputableBndr
(NameOrRdrName (IdP (NoGhcTc (GhcPass 'Renamed))))))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed)))))
@~ (D:R:NoGhcTc[0] <'Renamed>_N ; ((GhcPass
(D:R:NoGhcTcPass[1]
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N))))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))
:: NoGhcTc (GhcPass 'Renamed)
~# NoGhcTc (NoGhcTc (GhcPass 'Renamed)))
($fOutputableHsExpr2
`cast` (((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds GhcRn), Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn))))
($fOutputableHsExpr2
`cast` (((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn))))
fun_atOV } in
let {
lvl168_sY7c :: SDocContext -> Doc
[LclId, Arity=1, Str=<L,U(U,U,U)>, Unf=OtherCon []]
lvl168_sY7c
= \ (sty_XSOu :: SDocContext) ->
case d35_r1aZN of wild2_aSI5 {
__DEFAULT ->
case pprQuotedList2 d53_sXvF sty_XSOu of wild3_XT0M {
__DEFAULT ->
case d36_r1aZP of wild4_aSI6 {
__DEFAULT ->
Beside (Beside wild4_aSI6 True wild3_XT0M) True wild2_aSI5;
Empty -> Beside wild3_XT0M True wild2_aSI5
};
Empty ->
case d36_r1aZP of {
__DEFAULT -> lvl114_r1aZR;
Empty -> wild2_aSI5
}
};
Empty ->
case pprQuotedList2 d53_sXvF sty_XSOu of wild3_XSSi {
__DEFAULT ->
case d36_r1aZP of wild4_aSI6 {
__DEFAULT -> Beside wild4_aSI6 True wild3_XSSi;
Empty -> wild3_XSSi
};
Empty -> d36_r1aZP
}
} } in
let {
lvl169_sY7k :: SDocContext -> Doc
[LclId, Arity=1, Str=<L,U(U,U,U)>, Unf=OtherCon []]
lvl169_sY7k
= \ (sty_XSOr :: SDocContext) ->
case d33_r1aZJ of wild2_aSI5 {
__DEFAULT ->
case pprQuotedList2 d53_sXvF sty_XSOr of wild3_XT0T {
__DEFAULT ->
case d34_r1aZL of wild4_aSI6 {
__DEFAULT ->
Beside (Beside wild4_aSI6 True wild3_XT0T) True wild2_aSI5;
Empty -> Beside wild3_XT0T True wild2_aSI5
};
Empty ->
case d34_r1aZL of {
__DEFAULT -> lvl113_r1aZQ;
Empty -> wild2_aSI5
}
};
Empty ->
case pprQuotedList2 d53_sXvF sty_XSOr of wild3_XSSm {
__DEFAULT ->
case d34_r1aZL of wild4_aSI6 {
__DEFAULT -> Beside wild4_aSI6 True wild3_XSSm;
Empty -> wild3_XSSm
};
Empty -> d34_r1aZL
}
} } in
TcLclEnv
ds3_aTRQ
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc))
(True,
(\ (env_atPg :: TidyEnv)
(b3_aTuS :: Env TcGblEnv TcLclEnv)
(s2_aTuT :: State# RealWorld) ->
join {
$j_sY7L [Dmd=<C(C(S)),1*C1(C1(U))>]
:: State# RealWorld
-> Maybe TcType -> (# State# RealWorld, (TidyEnv, SDoc) #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><L,1*U>, Unf=OtherCon []]
$j_sY7L (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: Maybe TcType)
= case (((($s$wmapType
@ ()
skolemiseQuantifiedTyVar5
skolemiseQuantifiedTyVar4
(skolemiseQuantifiedTyVar3
`cast` (<()>_R
->_R <CoercionHole>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<Coercion>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<Coercion>_R)
:: (()
-> CoercionHole
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, Coercion #))
~R# (()
-> CoercionHole
-> IOEnv
(Env TcGblEnv TcLclEnv) Coercion)))
skolemiseQuantifiedTyVar2
zonkTcTyCon
()
fun_res_ty_atOW)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <TcType>_R
:: IOEnv (Env TcGblEnv TcLclEnv) TcType
~R# (Env TcGblEnv TcLclEnv -> IO TcType)))
b3_aTuS)
`cast` (N:IO[0] <TcType>_R
:: IO TcType
~R# (State# RealWorld
-> (# State# RealWorld, TcType #))))
ipv_aSMn
of
{ (# ipv2_XSS1, ipv3_XSS3 #) ->
join {
$j1_sY7E [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> TcType -> (# State# RealWorld, (TidyEnv, SDoc) #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><L,U>, Unf=OtherCon []]
$j1_sY7E (ipv4_XSS8 [OS=OneShot] :: State# RealWorld)
(ipv5_XSSa [OS=OneShot] :: TcType)
= (# ipv4_XSS8,
(env_atPg,
case $wtcSplitNestedSigmaTys ipv3_XSS3 of
{ (# ww1_aE9z, ww2_aE9A, ww3_aE9B #) ->
case $wtcSplitFunTys ww3_aE9B of
{ (# ww5_aE9j, ww6_aE9k #) ->
case $wlenAcc @ Type ww5_aE9j 0# of ww7_a10n9 { __DEFAULT ->
case $wsplit4 ipv5_XSSa ipv5_XSSa ([] @ TyCoVar) of
{ (# ww9_aEa2, ww10_aEa3 #) ->
case $wsplit1 ww10_aEa3 ([] @ PredType) of
{ (# ww12_aEa7, ww13_aEa8 #) ->
case $wtcSplitFunTys ww13_aEa8 of
{ (# ww15_XElf, ww16_XElh #) ->
case $wlenAcc @ Type ww15_XElf 0# of ww17_X10yX
{ __DEFAULT ->
case ==# ww7_a10n9 ww17_X10yX of {
__DEFAULT ->
join {
fail_sXvk [Dmd=<L,1*C1(U)>] :: Void# -> SDoc
[LclId[JoinId(1)], Arity=1, Str=<L,A>, Unf=OtherCon []]
fail_sXvk _ [Occ=Dead, OS=OneShot]
= case has_args_atOU of {
False ->
empty1
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc);
True ->
case $wtcSplitTyConApp_maybe ww6_aE9k of {
Nothing ->
empty1
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc);
Just ds18_dEbi ->
case ds18_dEbi of { (tc_atP1, ds19_dEbj) ->
case tc_atP1 of {
__DEFAULT ->
empty1
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc)
~R# SDoc);
AlgTyCon ds20_aEaV ds21_aEaW ds22_aEaX
ds23_aEaY ds24_aEaZ ds25_aEb0
ds26_aEb1 ds27_aEb2 ds28_aEb3
ds29_aEb4 ds30_aEb5 ds31_aEb6
ds32_aEb7 ds33_aEb8 ->
lvl168_sY7c
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc)
~R# SDoc)
}
}
}
} } in
case ># ww7_a10n9 ww17_X10yX of {
__DEFAULT -> jump fail_sXvk void#;
1# ->
case $wtcSplitTyConApp_maybe ww16_XElh of {
Nothing -> jump fail_sXvk void#;
Just ds17_dEbi ->
case ds17_dEbi of { (tc_atP1, ds18_dEbj) ->
case tc_atP1 of {
__DEFAULT -> jump fail_sXvk void#;
AlgTyCon ds19_aEaV ds20_aEaW ds21_aEaX
ds22_aEaY ds23_aEaZ ds24_aEb0
ds25_aEb1 ds26_aEb2 ds27_aEb3
ds28_aEb4 ds29_aEb5 ds30_aEb6
ds31_aEb7 ds32_aEb8 ->
lvl169_sY7k
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc)
}
}
}
};
1# ->
empty1
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
}
}
}
}
}
}
}
}) #) } in
case ipv1_aSMo of {
Nothing ->
case b3_aTuS of { Env ds17_aTLe dt1_aTLf ds18_aTLg ds19_aTLh ->
case ds17_aTLe of wild4_s19aU
{ HscEnv ds20_s19aV ds21_s19aW ds22_s19aX ds23_s19aY ds24_s19aZ
dt2_s19b0 dt3_s19b1 dt4_s19b2 ds25_s19b3 ds26_s19b4
ds27_s19b5 ->
case ds20_s19aV of
{ DynFlags ipv4_aTLz ipv5_aTLA ipv6_aTLB ipv7_aTLC ipv8_aTLD
ipv9_aTLE ipv10_aTLF ipv11_aTLG ipv12_aTLH ipv13_aTLI
ipv14_aTLJ ipv15_aTLK ipv16_aTLL ipv17_aTLM ipv18_aTLN
ipv19_aTLO ipv20_aTLP ipv21_aTLQ ipv22_aTLR ipv23_aTLS
ipv24_aTLT ipv25_aTLU ipv26_aTLV ipv27_aTLW ipv28_aTLX
ipv29_aTLY ipv30_aTLZ ipv31_aTM0 ipv32_aTM1 ipv33_aTM2
ipv34_aTM3 ipv35_aTM4 ipv36_aTM5 ipv37_aTM6 ipv38_aTM7
ipv39_aTM8 ipv40_aTM9 ipv41_aTMa ipv42_aTMb ipv43_aTMc
ipv44_aTMd ipv45_aTMe ipv46_aTMf ipv47_aTMg ipv48_aTMh
ipv49_aTMi ipv50_aTMj ipv51_aTMk ipv52_aTMl ipv53_aTMm
ipv54_aTMn ipv55_aTMo ipv56_aTMp ipv57_aTMq ipv58_aTMr
ipv59_aTMs ipv60_aTMt ipv61_aTMu ipv62_aTMv ipv63_aTMw
ipv64_aTMx ipv65_aTMy ipv66_aTMz ipv67_aTMA ipv68_aTMB
ipv69_aTMC ipv70_aTMD ipv71_aTME ipv72_aTMF ipv73_aTMG
ipv74_aTMH ipv75_aTMI ipv76_aTMJ ipv77_aTMK ipv78_aTML
ipv79_aTMM ipv80_aTMN ipv81_aTMO ipv82_aTMP ipv83_aTMQ
ipv84_aTMR ipv85_aTMS ipv86_aTMT ipv87_aTMU ipv88_aTMV
ipv89_aTMW ipv90_aTMX ipv91_aTMY ipv92_aTMZ ipv93_aTN0
ipv94_aTN1 ipv95_aTN2 ipv96_aTN3 ipv97_aTN4 ipv98_aTN5
ipv99_aTN6 ipv100_aTN7 ipv101_aTN8 ipv102_aTN9
ipv103_aTNa ipv104_aTNb ipv105_aTNc ipv106_aTNd
ipv107_aTNe ipv108_aTNf ipv109_aTNg ipv110_aTNh
ipv111_aTNi ipv112_aTNj ipv113_aTNk ipv114_aTNl
ipv115_aTNm ipv116_aTNn ipv117_aTNo ipv118_aTNp
ipv119_aTNq ipv120_aTNr ipv121_aTNs ipv122_aTNt
ipv123_aTNu ipv124_aTNv ipv125_aTNw ipv126_aTNx
ipv127_aTNy ipv128_aTNz ipv129_aTNA ipv130_aTNB
ipv131_aTNC ipv132_aTND ipv133_aTNE ipv134_aTNF
ipv135_aTNG ipv136_aTNH ipv137_aTNI ipv138_aTNJ
ipv139_aTNK ipv140_aTNL ipv141_aTNM ipv142_aTNN
ipv143_aTNO ipv144_aTNP ipv145_aTNQ ipv146_aTNR
ipv147_aTNS ipv148_aTNT ipv149_aTNU ipv150_aTNV
ipv151_aTNW ipv152_aTNX ipv153_aTNY ipv154_aTNZ
ipv155_aTO0 ipv156_aTO1 ipv157_aTO2 ipv158_aTO3
ipv159_aTO4 ipv160_aTO5 ipv161_aTO6 ipv162_aTO7
ipv163_aTO8 ipv164_aTO9 ipv165_aTOa ipv166_aTOb
ipv167_aTOc ipv168_aTOd ipv169_aTOe ipv170_aTOf
ipv171_aTOg ipv172_aTOh ipv173_aTOi ipv174_aTOj
ipv175_aTOk ipv176_aTOl ipv177_aTOm ipv178_aTOn
ipv179_aTOo ipv180_aTOp ipv181_aTOq ipv182_aTOr
ipv183_aTOs ipv184_aTOt ipv185_aTOu ipv186_aTOv
ipv187_aTOw ipv188_aTOx ipv189_aTOy ipv190_aTOz
ipv191_aTOA ipv192_aTOB ipv193_aTOC ipv194_aTOD
ipv195_aTOE ipv196_aTOF ipv197_aTOG ipv198_aTOH
ipv199_aTOI ipv200_aTOJ ipv201_aTOK ipv202_aTOL
ipv203_aTOM ipv204_aTON ipv205_aTOO ipv206_aTOP
ipv207_aTOQ ipv208_aTOR ipv209_aTOS ipv210_aTOT
ipv211_aTOU ipv212_aTOV ipv213_aTOW ipv214_aTOX
ipv215_aTOY ipv216_aTOZ ipv217_aTP0 ipv218_aTP1
ipv219_aTP2 ->
case $wnewFlexiTyVarTy
liftedTypeKind
wild4_s19aU
dt1_aTLf
ds18_aTLg
ds19_aTLh
ipv2_XSS1
of
{ (# ipv220_XSS8, ipv221_XSSa #) ->
jump $j1_sY7E ipv220_XSS8 ipv221_XSSa
}
}
}
};
Just env_ty1_atP4 ->
case (((($s$wmapType
@ ()
skolemiseQuantifiedTyVar5
skolemiseQuantifiedTyVar4
(skolemiseQuantifiedTyVar3
`cast` (<()>_R
->_R <CoercionHole>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<Coercion>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<Coercion>_R)
:: (()
-> CoercionHole
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, Coercion #))
~R# (()
-> CoercionHole
-> IOEnv
(Env TcGblEnv TcLclEnv)
Coercion)))
skolemiseQuantifiedTyVar2
zonkTcTyCon
()
env_ty1_atP4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <TcType>_R
:: IOEnv (Env TcGblEnv TcLclEnv) TcType
~R# (Env TcGblEnv TcLclEnv -> IO TcType)))
b3_aTuS)
`cast` (N:IO[0] <TcType>_R
:: IO TcType
~R# (State# RealWorld
-> (# State# RealWorld, TcType #))))
ipv2_XSS1
of
{ (# ipv4_XSS8, ipv5_XSSa #) ->
jump $j1_sY7E ipv4_XSS8 ipv5_XSSa
}
}
} } in
case env_ty_atOX of {
Check ty_aTKt -> jump $j_sY7L s2_aTuT (Just @ TcType ty_aTKt);
Infer ds16_aTKw ->
case ds16_aTKw of
{ IR ds17_s19b8 ds18_s19b9 ds19_s19ba ds20_s19bb ->
case ds20_s19bb
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef var#_aTKH ->
case readMutVar# @ RealWorld @ (Maybe TcType) var#_aTKH s2_aTuT of
{ (# ipv_aSMn, ipv1_aSMo #) ->
jump $j_sY7L ipv_aSMn ipv1_aSMo
}
}
}
})
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(TidyEnv, SDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
SDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, SDoc) #))
~R# (TidyEnv -> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, SDoc))))
ds4_aTRR)
ds5_aTRS
ds6_aTRT
ds7_aTRU
ds8_aTRV
ds9_aTRW
ds10_aTRX
ds11_aTRY
ds12_aTRZ
ds13_aTS0
ds14_aTS1
})
}))
`cast` (N:IO[0] <a_auZt>_R
:: IO a_auZt
~R# (State# RealWorld -> (# State# RealWorld, a_auZt #))))
eta2_B1
tcCheckId :: Name -> ExpRhoType -> TcM (HsExpr GhcTcId)
[GblId,
Arity=2,
Str=<L,U(U,U(U,U(U,U,U,U,U,U,U)),U,U)><L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 440 60}]
tcCheckId
= \ (name_atKP :: Name) (res_ty_atKQ :: ExpRhoType) ->
let {
lvl168_sYbH :: GenLocated SrcSpan (SrcSpanLess (Located Name))
[LclId, Unf=OtherCon []]
lvl168_sYbH
= L @ SrcSpan
@ (SrcSpanLess (Located Name))
noSrcSpan
(name_atKP
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Name>_N))
:: Name ~R# SrcSpanLess (GenLocated SrcSpan Name))) } in
let {
lvl169_sXL7 :: HsExpr GhcRn
[LclId, Unf=OtherCon []]
lvl169_sXL7
= HsVar
@ GhcRn
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Renamed>_N))
:: NoExt ~R# XVar (GhcPass 'Renamed)))
(lvl168_sYbH
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Name>_N) ; Sub (Sym (D:R:IdPGhcPass0[0]))))_R
:: GenLocated SrcSpan (SrcSpanLess (GenLocated SrcSpan Name))
~R# GenLocated SrcSpan (IdP GhcRn))) } in
let {
lvl170_sXL6 :: CtOrigin
[LclId, Unf=OtherCon []]
lvl170_sXL6 = OccurrenceOf name_atKP } in
let {
lvl171_sXL3 :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLL),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= $fOutputableBndrName1 name_atKP}]
lvl171_sXL3 = $fOutputableBndrName1 name_atKP } in
let {
lvl172_sXL4 :: SDoc
[LclId]
lvl172_sXL4 = $fOutputableExpType_$cppr res_ty_atKQ } in
let {
lvl173_s19bc :: [SDoc]
[LclId, Unf=OtherCon []]
lvl173_s19bc = : @ SDoc lvl172_sXL4 ([] @ SDoc) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case tcCheckId4 name_atKP env_aSMj s2_aSMk of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (expr_atKR, actual_res_ty_atKS) ->
case traceTc1
tcCheckId2
(($fOutputableSCC1
(: @ SDoc
(lvl171_sXL3
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(: @ SDoc
(($fOutputableType2 actual_res_ty_atKS)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl173_s19bc)))
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
env_aSMj
ipv_aSMn
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
tcCheckId1
@ (HsExpr GhcTcId)
False
lvl169_sXL7
actual_res_ty_atKS
res_ty_atKQ
(tcWrapResultO
lvl170_sXL6 lvl169_sXL7 expr_atKR actual_res_ty_atKS res_ty_atKQ)
env_aSMj
ipv2_aTsT
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
Rec {
$swrapHsArgs_r1aZS
:: LHsExpr (GhcPass 'Renamed)
-> [HsArg (LHsExpr (GhcPass 'Renamed)) (LHsWcType GhcRn)]
-> LHsExpr (GhcPass 'Renamed)
[GblId, Arity=2, Str=<L,U(U,U)><S,1*U>, Unf=OtherCon []]
$swrapHsArgs_r1aZS
= \ (eta_B2 :: LHsExpr (GhcPass 'Renamed))
(eta1_B1
:: [HsArg (LHsExpr (GhcPass 'Renamed)) (LHsWcType GhcRn)]) ->
case eta1_B1 of {
[] -> eta_B2;
: ds_dJsP args_atFt ->
case ds_dJsP of {
HsValArg a_atFs ->
$swrapHsArgs_r1aZS
((mkHsApp1 @ 'Renamed eta_B2 a_atFs)
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr (GhcPass 'Renamed)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess (GenLocated SrcSpan (HsExpr (GhcPass 'Renamed))))
~R# GenLocated SrcSpan (HsExpr (GhcPass 'Renamed))))
args_atFt;
HsTypeArg ds1_dJsQ t_atFv ->
$swrapHsArgs_r1aZS
(case $wmkHsAppType
@ 'Renamed
@~ (D:R:NoGhcTc[0] <'Renamed>_N ; (GhcPass
(D:R:NoGhcTcPass[1] <'Renamed>_N))_N
:: NoGhcTc (GhcPass 'Renamed) ~# GhcPass 'Renamed)
eta_B2
t_atFv
of
{ (# ww3_aJss, ww4_aJst #) ->
L @ SrcSpan @ (HsExpr (GhcPass 'Renamed)) ww3_aJss ww4_aJst
})
args_atFt;
HsArgPar sp_atFy ->
$swrapHsArgs_r1aZS
(L @ SrcSpan
@ (HsExpr (GhcPass 'Renamed))
sp_atFy
(HsPar
@ (GhcPass 'Renamed)
(NoExt
`cast` (Sub (Sym (D:R:XParGhcPass[0] <'Renamed>_N))
:: NoExt ~R# XPar (GhcPass 'Renamed)))
eta_B2))
args_atFt
}
}
end Rec }
Rec {
$swrapHsArgs1_r1aZT
:: LHsExpr (GhcPass 'Typechecked)
-> [HsArg (LHsExpr (GhcPass 'Typechecked)) (LHsWcType GhcRn)]
-> LHsExpr (GhcPass 'Typechecked)
[GblId, Arity=2, Str=<L,U(U,U)><S,1*U>, Unf=OtherCon []]
$swrapHsArgs1_r1aZT
= \ (eta_B2 :: LHsExpr (GhcPass 'Typechecked))
(eta1_B1
:: [HsArg (LHsExpr (GhcPass 'Typechecked)) (LHsWcType GhcRn)]) ->
case eta1_B1 of {
[] -> eta_B2;
: ds_dJsP args_atFt ->
case ds_dJsP of {
HsValArg a_atFs ->
$swrapHsArgs1_r1aZT
((mkHsApp1 @ 'Typechecked eta_B2 a_atFs)
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr (GhcPass 'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess (GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked))))
~R# GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked))))
args_atFt;
HsTypeArg ds1_dJsQ t_atFv ->
$swrapHsArgs1_r1aZT
(case $wmkHsAppType
@ 'Typechecked
@~ (D:R:NoGhcTc[0] <'Typechecked>_N ; (GhcPass
(D:R:NoGhcTcPass[0]))_N
:: NoGhcTc (GhcPass 'Typechecked) ~# GhcPass 'Renamed)
eta_B2
t_atFv
of
{ (# ww3_aJss, ww4_aJst #) ->
L @ SrcSpan @ (HsExpr (GhcPass 'Typechecked)) ww3_aJss ww4_aJst
})
args_atFt;
HsArgPar sp_atFy ->
$swrapHsArgs1_r1aZT
(L @ SrcSpan
@ (HsExpr (GhcPass 'Typechecked))
sp_atFy
(HsPar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XParGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XPar (GhcPass 'Typechecked)))
eta_B2))
args_atFt
}
}
end Rec }
a#43_r1aZU :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#43_r1aZU = "because it"#
d37_r1aZV :: Doc
[GblId]
d37_r1aZV
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#43_r1aZU realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#43_r1aZU ds1_a10iv) ds1_a10iv Empty
}
a#44_r1aZW :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#44_r1aZW = "is used in a static form but it is not closed"#
d38_r1aZX :: Doc
[GblId]
d38_r1aZX
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#44_r1aZW realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#44_r1aZW ds1_a10iv) ds1_a10iv Empty
}
lvl115_r1aZY :: Maybe NotClosedReason
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
lvl115_r1aZY = Just @ NotClosedReason NotLetBoundReason
Rec {
$wcheckLoop_r1aZZ
:: TcTypeEnv -> NameSet -> Int# -> Maybe NotClosedReason
[GblId,
Arity=3,
Caf=NoCafRefs,
Str=<S,U><L,U><L,U>,
Unf=OtherCon []]
$wcheckLoop_r1aZZ
= \ (w_s16wK :: TcTypeEnv)
(w1_s16wL :: NameSet)
(ww_s16wR :: Int#) ->
case $wlookup
@ TcTyThing
ww_s16wR
(w_s16wK
`cast` (N:UniqFM[0] <TcTyThing>_N
:: UniqFM TcTyThing ~R# IntMap TcTyThing))
of {
Nothing -> Nothing @ NotClosedReason;
Just ds_dD5p ->
case ds_dD5p of {
__DEFAULT -> Nothing @ NotClosedReason;
ATcId ds1_dD5q ds2_dD5r ->
case ds2_dD5r of {
NotLetBound -> lvl115_r1aZY;
ClosedLet -> Nothing @ NotClosedReason;
NonClosedLet fvs_atXm type_closed_atXn ->
join {
z_aSw2 :: Maybe NotClosedReason
[LclId[JoinId(0)]]
z_aSw2
= case type_closed_atXn of {
False ->
Just
@ NotClosedReason
(NotTypeClosed
(case ds1_dD5q of {
TyVar ds3_aTGD dt_aTGE ds4_aTGF ->
ty_co_vars_of_type
ds4_aTGF
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var))
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var));
TcTyVar ds3_aTGI dt_aTGJ ds4_aTGK ds5_aTGL ->
ty_co_vars_of_type
ds4_aTGK
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var))
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var));
Id ds3_aTGO dt_aTGP ds4_aTGQ ds5_aTGR ds6_aTGS ds7_aTGT ->
ty_co_vars_of_type
ds4_aTGQ
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var))
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var))
}));
True -> Nothing @ NotClosedReason
} } in
joinrec {
go25_aSw3 [Occ=LoopBreaker] :: [Name] -> Maybe NotClosedReason
[LclId[JoinId(1)], Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go25_aSw3 (ds3_aSw4 :: [Name])
= case ds3_aSw4 of {
[] -> jump z_aSw2;
: y_aSw9 ys_aSwa ->
case y_aSw9 of wild4_aD4k
{ Name ds4_aD4o ds5_aD4p dt_aD4q ds6_aD4r ->
case $wmember
@ Name
dt_aD4q
(w1_s16wL
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Name>_N
:: UniqSet Name ~R# IntMap Name))
of {
False ->
case $wcheckLoop_r1aZZ
w_s16wK
(($winsert
@ Name
dt_aD4q
wild4_aD4k
(w1_s16wL
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Name>_N
:: UniqSet Name ~R# IntMap Name)))
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Name>_N
:: IntMap Name ~R# UniqSet Name))
dt_aD4q
of {
Nothing -> jump go25_aSw3 ys_aSwa;
Just reason_atXp ->
Just @ NotClosedReason (NotClosed wild4_aD4k reason_atXp)
};
True -> jump go25_aSw3 ys_aSwa
}
}
}; } in
jump go25_aSw3
(sortBy
@ Name
stableNameCmp
(elems
@ Name
(fvs_atXm
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Name>_N
:: UniqSet Name ~R# IntMap Name))))
}
}
}
end Rec }
a#45_r1b00 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#45_r1b00 = "is not let-bound."#
d39_r1b01 :: Doc
[GblId]
d39_r1b01
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#45_r1b00 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#45_r1b00 ds1_a10iv) ds1_a10iv Empty
}
lvl116_r1b02 :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl116_r1b02 = \ _ [Occ=Dead] -> d39_r1b01
lvl117_r1b03 :: [SDoc]
[GblId, Str=m2, Unf=OtherCon []]
lvl117_r1b03
= : @ SDoc
(lvl116_r1b02
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
([] @ SDoc)
a#46_r1b04 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#46_r1b04 = "has a non-closed type because it contains the"#
d40_r1b05 :: Doc
[GblId]
d40_r1b05
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#46_r1b04 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#46_r1b04 ds1_a10iv) ds1_a10iv Empty
}
lvl118_r1b06 :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl118_r1b06 = \ _ [Occ=Dead] -> d40_r1b05
a#47_r1b07 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#47_r1b07 = "type variables:"#
d41_r1b08 :: Doc
[GblId]
d41_r1b08
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#47_r1b07 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#47_r1b07 ds1_a10iv) ds1_a10iv Empty
}
a#48_r1b09 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#48_r1b09 = "uses"#
d42_r1b0a :: Doc
[GblId]
d42_r1b0a
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#48_r1b09 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#48_r1b09 ds1_a10iv) ds1_a10iv Empty
}
a#49_r1b0b :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#49_r1b0b = "which"#
d43_r1b0c :: Doc
[GblId]
d43_r1b0c
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#49_r1b0b realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#49_r1b0b ds1_a10iv) ds1_a10iv Empty
}
lvl119_r1b0d :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl119_r1b0d = Beside d42_r1b0a True d43_r1b0c
Rec {
go_r1b0e :: [SDoc] -> IntMap Var -> [SDoc]
[GblId, Arity=2, Str=<L,U><S,1*U>, Unf=OtherCon []]
go_r1b0e
= \ (z'_a12mG :: [SDoc]) (ds_a12mH :: IntMap Var) ->
case ds_a12mH of {
Bin dt_a12mK dt1_a12mL l_a12mM r_a12mN ->
go_r1b0e (go_r1b0e z'_a12mG r_a12mN) l_a12mM;
Tip dt_a12mQ x_a12mR ->
let {
lvl168_s19bf [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLS),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=OtherCon []]
lvl168_s19bf = $fOutputableVar2 x_a12mR } in
: @ SDoc
((\ (eta_X5h :: SDocContext) ->
pprQuotedList2
(lvl168_s19bf
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
eta_X5h)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
z'_a12mG;
Nil -> z'_a12mG
}
end Rec }
Rec {
causes_r1b0f :: NotClosedReason -> [SDoc]
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
causes_r1b0f
= \ (ds_dDc8 :: NotClosedReason) ->
case ds_dDc8 of {
NotLetBoundReason -> lvl117_r1b03;
NotTypeClosed vs_atXs ->
: @ SDoc
(lvl118_r1b06
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(: @ SDoc
(let {
d53_sXwh :: [SDoc]
[LclId]
d53_sXwh
= case vs_atXs
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Var>_N
:: UniqSet Var ~R# IntMap Var)
of wild1_a12mW {
__DEFAULT ->
punctuate
($fOutputableIntMap4
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(go_r1b0e ([] @ SDoc) wild1_a12mW);
Bin dt_a12mY dt1_a12mZ l_a12n0 r_a12n1 ->
case <# dt1_a12mZ 0# of {
__DEFAULT ->
punctuate
($fOutputableIntMap4
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(go_r1b0e (go_r1b0e ([] @ SDoc) r_a12n1) l_a12n0);
1# ->
punctuate
($fOutputableIntMap4
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(go_r1b0e (go_r1b0e ([] @ SDoc) l_a12n0) r_a12n1)
}
} } in
(\ (sty_aSI4 :: SDocContext) ->
case hsep1 d53_sXwh sty_aSI4 of wild1_aSI5 {
__DEFAULT ->
case d41_r1b08 of wild2_aSI6 {
__DEFAULT -> Beside wild2_aSI6 True wild1_aSI5;
Empty -> wild1_aSI5
};
Empty -> d41_r1b08
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
([] @ SDoc));
NotClosed n_atXt reason_atXu ->
let {
d53_sXwu [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLL),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= $fOutputableBndrName1 n_atXt}]
d53_sXwu = $fOutputableBndrName1 n_atXt } in
let {
msg_sXwr :: SDocContext -> Doc
[LclId, Arity=1, Str=<L,U(U,U,U)>, Unf=OtherCon []]
msg_sXwr
= \ (sty_XSNm :: SDocContext) ->
case d43_r1b0c of wild1_aSI5 {
__DEFAULT ->
case pprQuotedList2
(d53_sXwu
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_XSNm
of wild2_XT0l {
__DEFAULT ->
case d42_r1b0a of wild3_aSI6 {
__DEFAULT ->
Beside (Beside wild3_aSI6 True wild2_XT0l) True wild1_aSI5;
Empty -> Beside wild2_XT0l True wild1_aSI5
};
Empty ->
case d42_r1b0a of {
__DEFAULT -> lvl119_r1b0d;
Empty -> wild1_aSI5
}
};
Empty ->
case pprQuotedList2
(d53_sXwu
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_XSNm
of wild2_XSSB {
__DEFAULT ->
case d42_r1b0a of wild3_aSI6 {
__DEFAULT -> Beside wild3_aSI6 True wild2_XSSB;
Empty -> wild2_XSSB
};
Empty -> d42_r1b0a
}
} } in
case reason_atXu of wild1_X11 {
__DEFAULT ->
case $wsplitAt' @ SDoc lvl23_r1aX9 (causes_r1b0f wild1_X11) of
{ (# ww1_aTF0, ww2_aTF1 #) ->
letrec {
go25_aSw3 [Occ=LoopBreaker] :: [SDoc] -> [SDoc]
[LclId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go25_aSw3
= \ (ds1_aSw4 :: [SDoc]) ->
case ds1_aSw4 of {
[] -> ww2_aTF1;
: y_aSw9 ys_aSwa ->
: @ SDoc
((\ (sty_XSNv :: SDocContext) ->
case (y_aSw9 `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_XSNv
of wild3_aSI5 {
__DEFAULT ->
case d43_r1b0c of wild4_XT0v {
__DEFAULT ->
case pprQuotedList2
(d53_sXwu
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))
sty_XSNv
of wild5_XT0l {
__DEFAULT ->
case d42_r1b0a of wild6_aSI6 {
__DEFAULT ->
Beside
(Beside
(Beside wild6_aSI6 True wild5_XT0l)
True
wild4_XT0v)
True
wild3_aSI5;
Empty ->
Beside
(Beside wild5_XT0l True wild4_XT0v)
True
wild3_aSI5
};
Empty ->
case d42_r1b0a of {
__DEFAULT -> Beside lvl119_r1b0d True wild3_aSI5;
Empty -> Beside wild4_XT0v True wild3_aSI5
}
};
Empty ->
case pprQuotedList2
(d53_sXwu
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))
sty_XSNv
of wild5_XT0z {
__DEFAULT ->
case d42_r1b0a of wild6_aSI6 {
__DEFAULT ->
Beside
(Beside wild6_aSI6 True wild5_XT0z)
True
wild3_aSI5;
Empty -> Beside wild5_XT0z True wild3_aSI5
};
Empty ->
case d42_r1b0a of wild6_aSI6 {
__DEFAULT -> Beside wild6_aSI6 True wild3_aSI5;
Empty -> wild3_aSI5
}
}
};
Empty -> msg_sXwr sty_XSNv
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(go25_aSw3 ys_aSwa)
}; } in
go25_aSw3 ww1_aTF0
};
NotClosed ds1_dDdq ds2_dDdr ->
: @ SDoc
(msg_sXwr
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(causes_r1b0f wild1_X11)
}
}
end Rec }
a#50_r1b0g :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#50_r1b0g = "is not a record selector"#
d44_r1b0h :: Doc
[GblId]
d44_r1b0h
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#50_r1b0g realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#50_r1b0g ds1_a10iv) ds1_a10iv Empty
}
lvl120_r1b0i :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl120_r1b0i = \ _ [Occ=Dead] -> d44_r1b0h
lvl121_r1b0j :: [SDoc]
[GblId, Str=m2, Unf=OtherCon []]
lvl121_r1b0j
= : @ SDoc
(lvl120_r1b0i
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
([] @ SDoc)
lvl122_r1b0k
:: GlobalRdrElt
-> IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #)
[GblId,
Arity=4,
Str=<S(S(LS(LS)LL)LLL),1*U(U(U,U(U,U(U,U,U,U,U,U,U)),U,U),U,U,U)><L,1*C1(C1(U(U,U)))><S(LLLS(LLLLLLLSLLLL)),U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
lvl122_r1b0k
= \ (x_aTyM :: GlobalRdrElt)
(ys_aTyN [OS=OneShot]
:: IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)])
(eta_Xf :: Env TcGblEnv TcLclEnv)
(eta1_Xt :: State# RealWorld) ->
case x_aTyM of wild_aEh4
{ GRE ds1_aEh7 ds2_aEh8 ds3_aEh9 ds4_aEha ->
case tcLookupId1 ds1_aEh7 eta_Xf eta1_Xt of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of wild1_aEgN {
__DEFAULT -> case idDetails1 wild1_aEgN of wild2_00 { };
Id ds8_aEgP dt_aEgQ ds9_aEgR ds10_aEgS ds11_aEgT ds5_aEgU ->
case ds11_aEgT of {
__DEFAULT ->
case checkTc2
@ (RecSelParent, GlobalRdrElt)
((hsep1
(: @ SDoc
((pprQuotedList2
(($fOutputableBndrName1 ds1_aEh7)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)))
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl121_r1b0j))
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
eta_Xf
ipv_aSMn
of
{ (# ipv2_aTz8, ipv3_aTz9 #) ->
case (((ys_aTyN
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <[(RecSelParent, GlobalRdrElt)]>_R
:: IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)]
~R# (Env TcGblEnv TcLclEnv -> IO [(RecSelParent, GlobalRdrElt)])))
eta_Xf)
`cast` (N:IO[0] <[(RecSelParent, GlobalRdrElt)]>_R
:: IO [(RecSelParent, GlobalRdrElt)]
~R# (State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #))))
ipv2_aTz8
of
{ (# ipv4_aTzd, ipv5_aTze #) ->
(# ipv4_aTzd,
: @ (RecSelParent, GlobalRdrElt) ipv3_aTz9 ipv5_aTze #)
}
};
RecSelId ds_aEgY ds12_aEgZ ->
case (((ys_aTyN
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <[(RecSelParent, GlobalRdrElt)]>_R
:: IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)]
~R# (Env TcGblEnv TcLclEnv -> IO [(RecSelParent, GlobalRdrElt)])))
eta_Xf)
`cast` (N:IO[0] <[(RecSelParent, GlobalRdrElt)]>_R
:: IO [(RecSelParent, GlobalRdrElt)]
~R# (State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #))))
ipv_aSMn
of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd,
: @ (RecSelParent, GlobalRdrElt) (ds_aEgY, wild_aEh4) ipv3_aTze #)
}
}
}
}
}
$trModule4 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule4 = "ghc"#
loc_r1b0l :: [Char]
[GblId]
loc_r1b0l = unpackCString# $trModule4
$trModule2 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}]
$trModule2 = "TcExpr"#
loc1_r1b0m :: [Char]
[GblId]
loc1_r1b0m = unpackCString# $trModule2
loc2_r1b0n :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
loc2_r1b0n = "compiler/typecheck/TcExpr.hs"#
loc3_r1b0o :: [Char]
[GblId]
loc3_r1b0o = unpackCString# loc2_r1b0n
loc4_r1b0p :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
loc4_r1b0p = I# 1594#
loc5_r1b0q :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
loc5_r1b0q = I# 9#
loc6_r1b0r :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
loc6_r1b0r = I# 54#
$dIP_r1b0s :: SrcLoc
[GblId, Str=m, Unf=OtherCon []]
$dIP_r1b0s
= SrcLoc
loc_r1b0l
loc1_r1b0m
loc3_r1b0o
loc4_r1b0p
loc5_r1b0q
loc4_r1b0p
loc6_r1b0r
$dIP1_r1b0t :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
$dIP1_r1b0t = "pprPanic"#
$dIP2_r1b0u :: [Char]
[GblId]
$dIP2_r1b0u = unpackCString# $dIP1_r1b0t
$dIP3_r1b0v :: CallStack
[GblId, Str=m2, Unf=OtherCon []]
$dIP3_r1b0v = PushCallStack $dIP2_r1b0u $dIP_r1b0s EmptyCallStack
a#51_r1b0w :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#51_r1b0w = "This rebindable syntax expects a function with"#
d45_r1b0x :: Doc
[GblId]
d45_r1b0x
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#51_r1b0w realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#51_r1b0w ds1_a10iv) ds1_a10iv Empty
}
lvl123_r1b0y :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
lvl123_r1b0y = \ _ [Occ=Dead] -> d45_r1b0x
lvl124_r1b0z :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl124_r1b0z = "tcSynArgA hits a SynFun"#
lvl125_r1b0A :: [Char]
[GblId]
lvl125_r1b0A = unpackCString# lvl124_r1b0z
lvl126_r1b0B :: forall a. CtOrigin -> TcM (a, HsWrapper)
[GblId, Arity=1, Str=<B,U>b, Unf=OtherCon []]
lvl126_r1b0B
= \ (@ a_aBqZ) (orig_atIV :: CtOrigin) ->
pprPanic
@ (TcM (a_aBqZ, HsWrapper))
($dIP3_r1b0v
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)))
lvl125_r1b0A
(pprCtOrigin orig_atIV)
a#52_r1b0C :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#52_r1b0C
= "When checking a rebindable syntax operator arising from"#
d46_r1b0D :: Doc
[GblId]
d46_r1b0D
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#52_r1b0C realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#52_r1b0C ds1_a10iv) ds1_a10iv Empty
}
lvl127_r1b0E :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl127_r1b0E
= "compiler/typecheck/TcExpr.hs:(1507,19)-(1524,68)|lambda"#
lvl128_r1b0F
:: forall a.
TcM
(((a, TcType, TcType), HsWrapper), HsWrapper, [HsWrapper],
HsWrapper)
[GblId, Str=b]
lvl128_r1b0F
= \ (@ a_aBvN) ->
patError
@ 'LiftedRep
@ (TcM
(((a_aBvN, TcType, TcType), HsWrapper), HsWrapper, [HsWrapper],
HsWrapper))
lvl127_r1b0E
Rec {
tcSynArgA_r1b0G
:: forall a.
CtOrigin
-> TcSigmaType
-> [SyntaxOpType]
-> SyntaxOpType
-> ([TcSigmaType] -> TcM a)
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a, HsWrapper, [HsWrapper], HsWrapper) #)
[GblId,
Arity=7,
Str=<L,U><L,U><S,U><L,U><L,C(C(C1(U(U,U))))><L,U><L,U>,
Unf=OtherCon []]
tcSynArgA_r1b0G
= \ (@ a_aBqZ)
(orig_atIV :: CtOrigin)
(sigma_ty_atIW :: TcSigmaType)
(arg_shapes_atIX :: [SyntaxOpType])
(res_shape_atIY :: SyntaxOpType)
(thing_inside_atIZ :: [TcSigmaType] -> TcM a_aBqZ)
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case $wlenAcc @ SyntaxOpType arg_shapes_atIX 0# of ww2_a10n9
{ __DEFAULT ->
case (((($wmatchActualFunTysPart
(lvl123_r1b0y
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
orig_atIV
(Nothing @ (HsExpr GhcRn))
ww2_a10n9
sigma_ty_atIW
([] @ TcSigmaType)
(I# ww2_a10n9))
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (HsWrapper, [TcSigmaType], TcSigmaType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, [TcSigmaType], TcSigmaType))))
eta_B2)
`cast` (N:IO[0] <(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IO (HsWrapper, [TcSigmaType], TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, [TcSigmaType], TcSigmaType) #))))
eta1_B1
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of
{ (match_wrapper_atJQ, arg_tys_atJR, res_ty_atJS) ->
let {
ds_sXHD [Dmd=<L,C(C1(U(U,1*U(U,U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
[LclId]
ds_sXHD
= deeply_instantiate
orig_atIV
(TCvSubst
(InScope (tyCoVarsOfType res_ty_atJS) 1#)
((Nil @ Type)
`cast` (Sym (N:UniqFM[0]) <Type>_N :: IntMap Type ~R# UniqFM Type))
((Nil @ Coercion)
`cast` (Sym (N:UniqFM[0]) <Coercion>_N
:: IntMap Coercion ~R# UniqFM Coercion)))
res_ty_atJS } in
let {
ds2_sXHF [Dmd=<L,C(C1(U(U,1*U(1*U,U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
[LclId]
ds2_sXHF = top_instantiate True orig_atIV res_ty_atJS } in
let {
lvl168_s19bk :: [Type]
[LclId, Unf=OtherCon []]
lvl168_s19bk = : @ Type res_ty_atJS ([] @ Type) } in
letrec {
tc_syn_args_e_sXwL [Occ=LoopBreaker]
:: forall a1.
[TcSigmaType]
-> [SyntaxOpType]
-> ([TcSigmaType] -> TcM a1)
-> TcM (a1, [HsWrapper])
[LclId,
Arity=3,
Str=<S,1*U><L,1*U><L,C(C(C1(U(U,U))))>,
Unf=OtherCon []]
tc_syn_args_e_sXwL
= \ (@ a1_aBuG)
(ds3_dJa0 :: [TcSigmaType])
(ds4_dJa1 :: [SyntaxOpType])
(thing_inside1_atJ9 :: [TcSigmaType] -> TcM a1_aBuG) ->
case ds3_dJa0 of {
[] ->
let {
ds5_sXxb [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) a1_aBuG
[LclId]
ds5_sXxb = thing_inside1_atJ9 ([] @ TcSigmaType) } in
(\ (b3_aTuS :: Env TcGblEnv TcLclEnv)
(s2_aTuT :: State# RealWorld) ->
case (((ds5_sXxb
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a1_aBuG>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a1_aBuG
~R# (Env TcGblEnv TcLclEnv -> IO a1_aBuG)))
b3_aTuS)
`cast` (N:IO[0] <a1_aBuG>_R
:: IO a1_aBuG
~R# (State# RealWorld -> (# State# RealWorld, a1_aBuG #))))
s2_aTuT
of
{ (# ipv2_aTuW, ipv3_aTuX #) ->
(# ipv2_aTuW, (ipv3_aTuX, [] @ HsWrapper) #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a1_aBuG, [HsWrapper])>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a1_aBuG,
[HsWrapper])>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a1_aBuG, [HsWrapper]) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a1_aBuG, [HsWrapper]));
: arg_ty_atJ5 arg_tys1_atJ6 ->
case ds4_dJa1 of {
[] ->
let {
ds5_sXxd [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) a1_aBuG
[LclId]
ds5_sXxd = thing_inside1_atJ9 ([] @ TcSigmaType) } in
(\ (b3_aTuS :: Env TcGblEnv TcLclEnv)
(s2_aTuT :: State# RealWorld) ->
case (((ds5_sXxd
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a1_aBuG>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a1_aBuG
~R# (Env TcGblEnv TcLclEnv -> IO a1_aBuG)))
b3_aTuS)
`cast` (N:IO[0] <a1_aBuG>_R
:: IO a1_aBuG
~R# (State# RealWorld
-> (# State# RealWorld, a1_aBuG #))))
s2_aTuT
of
{ (# ipv2_aTuW, ipv3_aTuX #) ->
(# ipv2_aTuW, (ipv3_aTuX, [] @ HsWrapper) #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a1_aBuG, [HsWrapper])>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a1_aBuG,
[HsWrapper])>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a1_aBuG, [HsWrapper]) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a1_aBuG, [HsWrapper]));
: arg_shape_atJ7 arg_shapes1_atJ8 ->
let {
ds5_sXxf [Dmd=<L,C(C1(U(U,1*U(1*U(U,U),U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv) ((a1_aBuG, [HsWrapper]), HsWrapper)
[LclId]
ds5_sXxf
= tcSynArgE_rpGS
@ (a1_aBuG, [HsWrapper])
orig_atIV
arg_ty_atJ5
arg_shape_atJ7
(\ (arg1_results_atJa :: [TcSigmaType]) ->
tc_syn_args_e_sXwL
@ a1_aBuG
arg_tys1_atJ6
arg_shapes1_atJ8
(\ (args_results_atJb :: [TcSigmaType]) ->
thing_inside1_atJ9
(++ @ Type arg1_results_atJa args_results_atJb))) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds5_sXxf
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<((a1_aBuG, [HsWrapper]), HsWrapper)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
((a1_aBuG, [HsWrapper]), HsWrapper)
~R# (Env TcGblEnv TcLclEnv
-> IO ((a1_aBuG, [HsWrapper]), HsWrapper))))
env_aSMj)
`cast` (N:IO[0] <((a1_aBuG, [HsWrapper]), HsWrapper)>_R
:: IO ((a1_aBuG, [HsWrapper]), HsWrapper)
~R# (State# RealWorld
-> (# State# RealWorld,
((a1_aBuG, [HsWrapper]), HsWrapper) #))))
s2_aSMk
of
{ (# ipv2_XSZE, ipv3_XSZG #) ->
case ipv3_XSZG of { (ds7_dJac, arg_wrap_atJe) ->
case ds7_dJac of { (result_atJc, arg_wraps_atJd) ->
(# ipv2_XSZE,
(result_atJc, : @ HsWrapper arg_wrap_atJe arg_wraps_atJd) #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a1_aBuG, [HsWrapper])>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a1_aBuG,
[HsWrapper])>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a1_aBuG, [HsWrapper]) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a1_aBuG, [HsWrapper]))
}
}; } in
case ((((tc_syn_args_e_sXwL
@ (a_aBqZ, HsWrapper)
arg_tys_atJR
arg_shapes_atIX
(\ (arg_results_atJT :: [TcSigmaType]) ->
case res_shape_atIY of {
SynAny ->
let {
ds3_sXwZ [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBqZ
[LclId]
ds3_sXwZ
= thing_inside_atIZ (++ @ Type arg_results_atJT lvl168_s19bk) } in
(\ (env_XSRZ :: Env TcGblEnv TcLclEnv)
(s2_XSS1 [OS=OneShot] :: State# RealWorld) ->
case (((ds3_sXwZ
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBqZ>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBqZ
~R# (Env TcGblEnv TcLclEnv -> IO a_aBqZ)))
env_XSRZ)
`cast` (N:IO[0] <a_aBqZ>_R
:: IO a_aBqZ
~R# (State# RealWorld
-> (# State# RealWorld, a_aBqZ #))))
s2_XSS1
of
{ (# ipv2_XSS7, ipv3_XSS9 #) ->
(# ipv2_XSS7, (ipv3_XSS9, WpHole) #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a_aBqZ, HsWrapper)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a_aBqZ,
HsWrapper)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a_aBqZ, HsWrapper) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a_aBqZ, HsWrapper));
SynRho ->
(\ (env_XSRZ :: Env TcGblEnv TcLclEnv)
(s2_XSS1 [OS=OneShot] :: State# RealWorld) ->
case (((ds_sXHD
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, TcRhoType))))
env_XSRZ)
`cast` (N:IO[0] <(HsWrapper, TcRhoType)>_R
:: IO (HsWrapper, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, TcRhoType) #))))
s2_XSS1
of
{ (# ipv2_XSS7, ipv3_XSS9 #) ->
case ipv3_XSS9 of { (inst_wrap_atJB, rho_ty_atJC) ->
case ((((thing_inside_atIZ
(++
@ Type
arg_results_atJT
(: @ Type rho_ty_atJC ([] @ Type))))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBqZ>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBqZ
~R# (Env TcGblEnv TcLclEnv -> IO a_aBqZ)))
env_XSRZ)
`cast` (N:IO[0] <a_aBqZ>_R
:: IO a_aBqZ
~R# (State# RealWorld
-> (# State# RealWorld, a_aBqZ #))))
ipv2_XSS7
of
{ (# ipv4_XSRM, ipv5_XSRO #) ->
(# ipv4_XSRM, (ipv5_XSRO, inst_wrap_atJB) #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a_aBqZ, HsWrapper)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a_aBqZ,
HsWrapper)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a_aBqZ, HsWrapper) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a_aBqZ, HsWrapper));
SynList ->
(\ (env_XSRZ :: Env TcGblEnv TcLclEnv)
(s2_XSS1 [OS=OneShot] :: State# RealWorld) ->
case (((ds2_sXHF
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, TcRhoType))))
env_XSRZ)
`cast` (N:IO[0] <(HsWrapper, TcRhoType)>_R
:: IO (HsWrapper, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, TcRhoType) #))))
s2_XSS1
of
{ (# ipv2_XSS7, ipv3_XSS9 #) ->
case ipv3_XSS9 of { (inst_wrap_atJG, rho_ty_atJH) ->
case ((((matchExpectedTyConApp listTyCon rho_ty_atJH)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(TcCoercionN, [TcSigmaType])>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (TcCoercionN, [TcSigmaType])
~R# (Env TcGblEnv TcLclEnv
-> IO (TcCoercionN, [TcSigmaType]))))
env_XSRZ)
`cast` (N:IO[0] <(TcCoercionN, [TcSigmaType])>_R
:: IO (TcCoercionN, [TcSigmaType])
~R# (State# RealWorld
-> (# State# RealWorld,
(TcCoercionN, [TcSigmaType]) #))))
ipv2_XSS7
of
{ (# ipv4_aJhV, ipv5_aJhW #) ->
case ipv5_aJhW of { (co_aJi0, ds5_aJi1) ->
case ds5_aJi1 of {
[] ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv4_aJhV
of wild5_00 {
};
: elt_ty_aJlt ds6_aJlu ->
case ds6_aJlu of {
[] ->
case ((((thing_inside_atIZ
(++
@ Type
arg_results_atJT
(: @ Type elt_ty_aJlt ([] @ Type))))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBqZ>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBqZ
~R# (Env TcGblEnv TcLclEnv -> IO a_aBqZ)))
env_XSRZ)
`cast` (N:IO[0] <a_aBqZ>_R
:: IO a_aBqZ
~R# (State# RealWorld
-> (# State# RealWorld, a_aBqZ #))))
ipv4_aJhV
of
{ (# ipv6_XSYe, ipv7_XSYh #) ->
(# ipv6_XSYe,
(ipv7_XSYh,
case mkSymCo co_aJi0 of wild6_aJaW {
__DEFAULT ->
case inst_wrap_atJG of wild7_aJaQ {
__DEFAULT ->
WpCompose (WpCast (mkSubCo wild6_aJaW)) wild7_aJaQ;
WpHole -> WpCast (mkSubCo wild6_aJaW)
};
Refl ds8_aJhA -> inst_wrap_atJG;
GRefl ds8_aJho ds9_aJhp mco_aJhq ->
case mco_aJhq of {
MRefl -> inst_wrap_atJG;
MCo co1_aJhv ->
case co1_aJhv of {
__DEFAULT ->
case inst_wrap_atJG of wild9_aJaQ {
__DEFAULT ->
WpCompose
(WpCast (mkSubCo wild6_aJaW)) wild9_aJaQ;
WpHole -> WpCast (mkSubCo wild6_aJaW)
};
Refl ds10_aJhD -> inst_wrap_atJG;
GRefl ds10_aJhF ds11_aJhG ds12_aJhH ->
inst_wrap_atJG
}
}
}) #)
};
: ipv6_aJlA ipv7_aJlB ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv4_aJhV
of wild6_00 {
}
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a_aBqZ, HsWrapper)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a_aBqZ,
HsWrapper)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a_aBqZ, HsWrapper) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a_aBqZ, HsWrapper));
SynFun ds3_dJmm ds4_dJmn -> lvl126_r1b0B @ a_aBqZ orig_atIV;
SynType the_ty_atJM ->
let {
ds3_sXx5 [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
[LclId]
ds3_sXx5
= tcSubTypeO orig_atIV GenSigCtxt res_ty_atJS the_ty_atJM } in
(\ (env_XSS0 :: Env TcGblEnv TcLclEnv)
(s2_XSS2 [OS=OneShot] :: State# RealWorld) ->
case (((ds3_sXx5
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
env_XSS0)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld
-> (# State# RealWorld, HsWrapper #))))
s2_XSS2
of
{ (# ipv2_XSS8, ipv3_XSSa #) ->
case ((((thing_inside_atIZ arg_results_atJT)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBqZ>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBqZ
~R# (Env TcGblEnv TcLclEnv -> IO a_aBqZ)))
env_XSS0)
`cast` (N:IO[0] <a_aBqZ>_R
:: IO a_aBqZ
~R# (State# RealWorld
-> (# State# RealWorld, a_aBqZ #))))
ipv2_XSS8
of
{ (# ipv4_XSRF, ipv5_XSRH #) ->
(# ipv4_XSRF, (ipv5_XSRH, ipv3_XSSa) #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a_aBqZ, HsWrapper)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a_aBqZ,
HsWrapper)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a_aBqZ, HsWrapper) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a_aBqZ, HsWrapper))
}))
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <((a_aBqZ, HsWrapper), [HsWrapper])>_R
:: IOEnv (Env TcGblEnv TcLclEnv) ((a_aBqZ, HsWrapper), [HsWrapper])
~R# (Env TcGblEnv TcLclEnv
-> IO ((a_aBqZ, HsWrapper), [HsWrapper]))))
eta_B2)
`cast` (N:IO[0] <((a_aBqZ, HsWrapper), [HsWrapper])>_R
:: IO ((a_aBqZ, HsWrapper), [HsWrapper])
~R# (State# RealWorld
-> (# State# RealWorld, ((a_aBqZ, HsWrapper), [HsWrapper]) #))))
ipv_aSMn
of
{ (# ipv2_XSRE, ipv3_XSRG #) ->
case ipv3_XSRG of { (ds4_dJ9M, arg_wrappers_atJX) ->
case ds4_dJ9M of { (result_atJV, res_wrapper_atJW) ->
(# ipv2_XSRE,
(result_atJV, match_wrapper_atJQ, arg_wrappers_atJX,
res_wrapper_atJW) #)
}
}
}
}
}
}
tcSynArgE_rpGS
:: forall a.
CtOrigin
-> TcSigmaType
-> SyntaxOpType
-> ([TcSigmaType] -> TcM a)
-> TcM (a, HsWrapper)
[GblId,
Arity=4,
Str=<L,U><L,U><L,U><L,C(C1(C1(U(U,U))))>,
Unf=OtherCon []]
tcSynArgE_rpGS
= \ (@ a_aBvN)
(orig_XtNc :: CtOrigin)
(sigma_ty_XtNe :: TcSigmaType)
(syn_ty_XtNg :: SyntaxOpType)
(thing_inside_XtNi :: [TcSigmaType] -> TcM a_aBvN) ->
let {
ds_sXxt [Dmd=<L,C(C1(U(U,1*U(1*U,1*U(U,1*U)))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, (a_aBvN, HsWrapper))
[LclId]
ds_sXxt
= let {
d53_sXHU [Dmd=<L,C(U)>] :: SDoc
[LclId]
d53_sXHU = pprCtOrigin orig_XtNc } in
let {
lvl168_sXI5 :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
Tmpl= \ (sty_aSI4 [Occ=Once] :: SDocContext) ->
case (d53_sXHU `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aSI4
of wild_aSI5 [Occ=Once*] {
__DEFAULT ->
case d46_r1b0D of wild1_aSI6 [Occ=Once] {
__DEFAULT -> Beside wild1_aSI6 True wild_aSI5;
Empty -> wild_aSI5
};
Empty -> d46_r1b0D
}}]
lvl168_sXI5
= \ (sty_aSI4 :: SDocContext) ->
case (d53_sXHU `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aSI4
of wild_aSI5 {
__DEFAULT ->
case d46_r1b0D of wild1_aSI6 {
__DEFAULT -> Beside wild1_aSI6 True wild_aSI5;
Empty -> wild_aSI5
};
Empty -> d46_r1b0D
} } in
tcSkolemise
@ (a_aBvN, HsWrapper)
GenSigCtxt
sigma_ty_XtNe
((\ _ [Occ=Dead]
(rho_ty_atIR [OS=OneShot] :: TcType)
(eta_B2 [OS=OneShot] :: Env TcGblEnv TcLclEnv)
(eta1_B1 [OS=OneShot] :: State# RealWorld) ->
case syn_ty_XtNg of {
__DEFAULT ->
case ((((thing_inside_XtNi
(: @ TcSigmaType rho_ty_atIR ([] @ TcSigmaType)))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBvN>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBvN
~R# (Env TcGblEnv TcLclEnv -> IO a_aBvN)))
eta_B2)
`cast` (N:IO[0] <a_aBvN>_R
:: IO a_aBvN
~R# (State# RealWorld -> (# State# RealWorld, a_aBvN #))))
eta1_B1
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn, (ipv1_aSMo, WpHole) #)
};
SynList ->
case ((((matchExpectedTyConApp listTyCon rho_ty_atIR)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(TcCoercionN, [TcSigmaType])>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (TcCoercionN, [TcSigmaType])
~R# (Env TcGblEnv TcLclEnv
-> IO (TcCoercionN, [TcSigmaType]))))
eta_B2)
`cast` (N:IO[0] <(TcCoercionN, [TcSigmaType])>_R
:: IO (TcCoercionN, [TcSigmaType])
~R# (State# RealWorld
-> (# State# RealWorld,
(TcCoercionN, [TcSigmaType]) #))))
eta1_B1
of
{ (# ipv_aJhV, ipv1_aJhW #) ->
case ipv1_aJhW of { (co_aJi0, ds3_aJi1) ->
case ds3_aJi1 of {
[] ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv_aJhV
of wild3_00 {
};
: elt_ty_aJlt ds4_aJlu ->
case ds4_aJlu of {
[] ->
case ((((thing_inside_XtNi
(: @ TcSigmaType elt_ty_aJlt ([] @ TcSigmaType)))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBvN>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBvN
~R# (Env TcGblEnv TcLclEnv -> IO a_aBvN)))
eta_B2)
`cast` (N:IO[0] <a_aBvN>_R
:: IO a_aBvN
~R# (State# RealWorld
-> (# State# RealWorld, a_aBvN #))))
ipv_aJhV
of
{ (# ipv2_XSRL, ipv3_XSRN #) ->
(# ipv2_XSRL, (ipv3_XSRN, mkWpCastN co_aJi0) #)
};
: ipv2_aJlA ipv3_aJlB ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv_aJhV
of wild4_00 {
}
}
}
}
};
SynFun arg_shape_atIv res_shape_atIw ->
case ((((matchExpectedFunTys
@ (((a_aBvN, TcType, TcType), HsWrapper), HsWrapper, [HsWrapper],
HsWrapper)
(lvl123_r1b0y
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl23_r1aX9
(Check rho_ty_atIR)
((\ (ds2_dJpf :: [ExpSigmaType])
(res_ty_atIA [OS=OneShot] :: ExpRhoType)
(eta2_Xe :: Env TcGblEnv TcLclEnv)
(eta3_Xr [OS=OneShot] :: State# RealWorld) ->
case ds2_dJpf of {
[] -> case lvl128_r1b0F of wild2_00 { };
: arg_ty_atIz ds3_dJpV ->
case ds3_dJpV of {
[] ->
join {
$j_sY1f [Dmd=<L,1*C1(C1(U(U,U)))>]
:: State# RealWorld
-> TcType
-> (# State# RealWorld,
(((a_aBvN, TcType, TcType), HsWrapper),
HsWrapper, [HsWrapper], HsWrapper) #)
[LclId[JoinId(2)],
Arity=2,
Str=<L,U><L,U>,
Unf=OtherCon []]
$j_sY1f (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: TcType)
= join {
$j1_sXZe [Dmd=<L,1*C1(C1(U(U,U)))>]
:: State# RealWorld
-> TcType
-> (# State# RealWorld,
(((a_aBvN, TcType, TcType),
HsWrapper),
HsWrapper, [HsWrapper],
HsWrapper) #)
[LclId[JoinId(2)],
Arity=2,
Str=<L,U><L,U>,
Unf=OtherCon []]
$j1_sXZe (ipv2_XSS4 [OS=OneShot]
:: State# RealWorld)
(ipv3_XSS6 [OS=OneShot] :: TcType)
= tcSynArgA_r1b0G
@ ((a_aBvN, TcType, TcType), HsWrapper)
orig_XtNc
ipv1_aSMo
([] @ SyntaxOpType)
arg_shape_atIv
(\ (arg_results_atID :: [TcSigmaType]) ->
tcSynArgE_rpGS
@ (a_aBvN, TcType, TcType)
orig_XtNc
ipv3_XSS6
res_shape_atIw
((\ (res_results_atIE
:: [TcSigmaType])
(env_XSSa [OS=OneShot]
:: Env TcGblEnv TcLclEnv)
(s2_XSSc [OS=OneShot]
:: State# RealWorld) ->
case ((((thing_inside_XtNi
(++
@ Type
arg_results_atID
res_results_atIE))
`cast` (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<a_aBvN>_R
:: IOEnv
(Env
TcGblEnv
TcLclEnv)
a_aBvN
~R# (Env
TcGblEnv
TcLclEnv
-> IO
a_aBvN)))
env_XSSa)
`cast` (N:IO[0] <a_aBvN>_R
:: IO a_aBvN
~R# (State#
RealWorld
-> (# State#
RealWorld,
a_aBvN #))))
s2_XSSc
of
{ (# ipv4_XSSi, ipv5_XSSk #) ->
(# ipv4_XSSi,
(ipv5_XSSk, ipv1_aSMo,
ipv3_XSS6) #)
})
`cast` (<[TcSigmaType]>_R
->_R (<Env
TcGblEnv
TcLclEnv>_R
->_R Sym (N:IO[0]
<(a_aBvN,
TcType,
TcType)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a_aBvN,
TcType,
TcType)>_R)
:: ([TcSigmaType]
-> Env
TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
(a_aBvN, TcType,
TcType) #))
~R# ([TcSigmaType]
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
(a_aBvN,
TcType,
TcType)))))
eta2_Xe
ipv2_XSS4 } in
case res_ty_atIA of {
Check ty_aTvU ->
jump $j1_sXZe ipv_aSMn ty_aTvU;
Infer inf_res_aTvY ->
case inf_res_aTvY of
{ IR ww1_s19bs ww2_s19bt ww3_s19bu
ww4_s19bv ->
case ww4_s19bv
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType)
~R# STRef
RealWorld
(Maybe TcType))
of
{ STRef ww6_aXZs ->
case eta2_Xe of
{ Env ww8_aXZw ww9_aXZx ww10_aXZy
ww11_aXZz ->
case $winferResultToType
ww1_s19bs
ww2_s19bt
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
ipv_aSMn
of
{ (# ipv2_XSS4, ipv3_XSS6 #) ->
jump $j1_sXZe ipv2_XSS4 ipv3_XSS6
}
}
}
}
} } in
case arg_ty_atIz of {
Check ty_aTvU -> jump $j_sY1f eta3_Xr ty_aTvU;
Infer inf_res_aTvY ->
case inf_res_aTvY of
{ IR ww1_s19by ww2_s19bz ww3_s19bA ww4_s19bB ->
case ww4_s19bB
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType)
~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case eta2_Xe of
{ Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19by
ww2_s19bz
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
eta3_Xr
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
jump $j_sY1f ipv_aSMn ipv1_aSMo
}
}
}
}
};
: ipv_sTvO ipv1_sTw4 -> case lvl128_r1b0F of wild3_00 { }
}
})
`cast` (<[ExpSigmaType]>_R
->_R <ExpRhoType>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(((a_aBvN, TcType, TcType),
HsWrapper),
HsWrapper, [HsWrapper],
HsWrapper)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(((a_aBvN,
TcType,
TcType),
HsWrapper),
HsWrapper,
[HsWrapper],
HsWrapper)>_R)
:: ([ExpSigmaType]
-> ExpRhoType
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
(((a_aBvN, TcType, TcType), HsWrapper),
HsWrapper, [HsWrapper], HsWrapper) #))
~R# ([ExpSigmaType]
-> ExpRhoType
-> IOEnv
(Env TcGblEnv TcLclEnv)
(((a_aBvN, TcType, TcType), HsWrapper),
HsWrapper, [HsWrapper], HsWrapper)))))
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<((((a_aBvN, TcType, TcType), HsWrapper), HsWrapper,
[HsWrapper], HsWrapper),
HsWrapper)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
((((a_aBvN, TcType, TcType), HsWrapper), HsWrapper,
[HsWrapper], HsWrapper),
HsWrapper)
~R# (Env TcGblEnv TcLclEnv
-> IO
((((a_aBvN, TcType, TcType), HsWrapper),
HsWrapper, [HsWrapper], HsWrapper),
HsWrapper))))
eta_B2)
`cast` (N:IO[0]
<((((a_aBvN, TcType, TcType), HsWrapper), HsWrapper,
[HsWrapper], HsWrapper),
HsWrapper)>_R
:: IO
((((a_aBvN, TcType, TcType), HsWrapper), HsWrapper,
[HsWrapper], HsWrapper),
HsWrapper)
~R# (State# RealWorld
-> (# State# RealWorld,
((((a_aBvN, TcType, TcType), HsWrapper),
HsWrapper, [HsWrapper], HsWrapper),
HsWrapper) #))))
eta1_B1
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (ds3_dJqj, match_wrapper_atIM) ->
case ds3_dJqj of
{ (ds4_dJqk, arg_wrapper1_atIK, ds5_dJql, arg_wrapper2_atIL) ->
case ds4_dJqk of { (ds6_dJqm, res_wrapper_atIJ) ->
case ds6_dJqm of { (result_atIG, arg_ty_atIH, res_ty_atII) ->
case ds5_dJql of {
[] ->
(# ipv_aSMn,
(result_atIG,
case arg_wrapper2_atIL of wild6_aJaP {
__DEFAULT ->
case arg_wrapper1_atIK of wild7_aJaQ {
__DEFAULT ->
case match_wrapper_atIM of wild8_XJn4 {
__DEFAULT ->
WpCompose
wild8_XJn4
(WpFun
(WpCompose wild6_aJaP wild7_aJaQ)
res_wrapper_atIJ
arg_ty_atIH
(lvl168_sXI5
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc)));
WpHole ->
WpFun
(WpCompose wild6_aJaP wild7_aJaQ)
res_wrapper_atIJ
arg_ty_atIH
(lvl168_sXI5
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))
};
WpHole ->
case wild6_aJaP of wild8_aJo8 {
__DEFAULT ->
case match_wrapper_atIM of wild9_XJn7 {
__DEFAULT ->
WpCompose
wild9_XJn7
(WpFun
wild8_aJo8
res_wrapper_atIJ
arg_ty_atIH
(lvl168_sXI5
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc)));
WpHole ->
WpFun
wild8_aJo8
res_wrapper_atIJ
arg_ty_atIH
(lvl168_sXI5
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))
};
WpCast co1_aJoH ->
case res_wrapper_atIJ of wild9_aJoJ {
__DEFAULT ->
case match_wrapper_atIM of wild10_XJnc {
__DEFAULT ->
WpCompose
wild10_XJnc
(WpFun
wild8_aJo8
wild9_aJoJ
arg_ty_atIH
(lvl168_sXI5
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc)));
WpHole ->
WpFun
wild8_aJo8
wild9_aJoJ
arg_ty_atIH
(lvl168_sXI5
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))
};
WpHole ->
let {
c_s17FH :: TcCoercionR
[LclId]
c_s17FH
= case mkSymCo co1_aJoH of wild10_aJoM {
__DEFAULT ->
FunCo
Representational
wild10_aJoM
(GRefl
Representational res_ty_atII MRefl);
Refl ty_aJoO ->
GRefl
Representational
(FunTy VisArg ty_aJoO res_ty_atII)
MRefl;
GRefl r1_aJoR ty_aJoS mco_aJoT ->
case mco_aJoT of {
MRefl ->
GRefl
Representational
(FunTy VisArg ty_aJoS res_ty_atII)
MRefl;
MCo co_aJoZ ->
case co_aJoZ of {
__DEFAULT ->
FunCo
Representational
wild10_aJoM
(GRefl
Representational
res_ty_atII
MRefl);
Refl ds7_aJp3 ->
GRefl
Representational
(FunTy VisArg ty_aJoS res_ty_atII)
MRefl;
GRefl ds7_aJp6 ds8_aJp7 ds9_aJp8 ->
GRefl
Representational
(FunTy VisArg ty_aJoS res_ty_atII)
MRefl
}
}
} } in
case match_wrapper_atIM of wild10_XJne {
__DEFAULT -> WpCompose wild10_XJne (WpCast c_s17FH);
WpHole -> WpCast c_s17FH
};
WpCast co2_aJpc ->
let {
c_s17FJ :: Coercion
[LclId]
c_s17FJ
= let {
co4_aYTx [Dmd=<S,U>] :: Coercion
[LclId]
co4_aYTx = mkSymCo co1_aJoH } in
join {
$w$j2_aYTz [InlPrag=NOUSERINLINE[2],
Dmd=<L,1*C1(U)>]
:: Type -> Coercion
[LclId[JoinId(1)],
Arity=1,
Str=<L,U>,
Unf=OtherCon []]
$w$j2_aYTz (ww_aYTA [OS=OneShot] :: Type)
= case co2_aJpc of wild10_aYTB {
__DEFAULT ->
FunCo
Representational
co4_aYTx
wild10_aYTB;
Refl ty_aYTD ->
GRefl
Representational
(FunTy VisArg ww_aYTA ty_aYTD)
MRefl;
GRefl r1_aYTJ ty_aYTK mco_aYTL ->
case mco_aYTL of {
MRefl ->
GRefl
Representational
(FunTy VisArg ww_aYTA ty_aYTK)
MRefl;
MCo co_aYTU ->
case co_aYTU of {
__DEFAULT ->
FunCo
Representational
co4_aYTx
wild10_aYTB;
Refl ds7_aYTY ->
GRefl
Representational
(FunTy
VisArg ww_aYTA ty_aYTK)
MRefl;
GRefl ds7_aYU4 ds8_aYU5
ds9_aYU6 ->
GRefl
Representational
(FunTy
VisArg ww_aYTA ty_aYTK)
MRefl
}
}
} } in
case co4_aYTx of wild10_aYUb {
__DEFAULT ->
FunCo Representational wild10_aYUb co2_aJpc;
Refl ty_aYUd -> jump $w$j2_aYTz ty_aYUd;
GRefl r1_aYUg ty_aYUh mco_aYUi ->
case mco_aYUi of {
MRefl -> jump $w$j2_aYTz ty_aYUh;
MCo co_aYUo ->
case co_aYUo of {
__DEFAULT ->
FunCo
Representational
wild10_aYUb
co2_aJpc;
Refl ds7_aYUs ->
jump $w$j2_aYTz ty_aYUh;
GRefl ds7_aYUv ds8_aYUw ds9_aYUx ->
jump $w$j2_aYTz ty_aYUh
}
}
} } in
case match_wrapper_atIM of wild10_XJnf {
__DEFAULT -> WpCompose wild10_XJnf (WpCast c_s17FJ);
WpHole -> WpCast c_s17FJ
}
}
}
};
WpHole ->
case match_wrapper_atIM of wild7_XJn1 {
__DEFAULT ->
case mkWpFun
arg_wrapper1_atIK
res_wrapper_atIJ
arg_ty_atIH
res_ty_atII
(lvl168_sXI5
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))
of wild8_aJaQ {
__DEFAULT -> WpCompose wild7_XJn1 wild8_aJaQ;
WpHole -> wild7_XJn1
};
WpHole ->
mkWpFun
arg_wrapper1_atIK
res_wrapper_atIJ
arg_ty_atIH
res_ty_atII
(lvl168_sXI5
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
}
}) #);
: ipv2_sTwc ipv3_sTwi ->
raiseIO#
@ SomeException @ (a_aBvN, HsWrapper) $fMonadFailIOEnv2 ipv_aSMn
}
}
}
}
}
};
SynType the_ty_atIO ->
case the_ty_atIO of {
Check ty_actual_aJqw ->
case ((((tc_sub_tc_type
(TypeEqOrigin rho_ty_atIR ty_actual_aJqw (Nothing @ SDoc) True)
orig_XtNc
GenSigCtxt
ty_actual_aJqw
rho_ty_atIR)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
eta_B2)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld
-> (# State# RealWorld, HsWrapper #))))
eta1_B1
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ((((thing_inside_XtNi ([] @ TcSigmaType))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBvN>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBvN
~R# (Env TcGblEnv TcLclEnv -> IO a_aBvN)))
eta_B2)
`cast` (N:IO[0] <a_aBvN>_R
:: IO a_aBvN
~R# (State# RealWorld
-> (# State# RealWorld, a_aBvN #))))
ipv_aSMn
of
{ (# ipv2_XSRE, ipv3_XSRG #) ->
(# ipv2_XSRE, (ipv3_XSRG, ipv1_aSMo) #)
}
};
Infer inf_res_aJqC ->
case tcSubTypeDS1 rho_ty_atIR inf_res_aJqC eta_B2 eta1_B1 of
{ (# ipv_aJqG, ipv1_aJqH #) ->
case ((((thing_inside_XtNi ([] @ TcSigmaType))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <a_aBvN>_R
:: IOEnv (Env TcGblEnv TcLclEnv) a_aBvN
~R# (Env TcGblEnv TcLclEnv -> IO a_aBvN)))
eta_B2)
`cast` (N:IO[0] <a_aBvN>_R
:: IO a_aBvN
~R# (State# RealWorld
-> (# State# RealWorld, a_aBvN #))))
ipv_aJqG
of
{ (# ipv2_XSRE, ipv3_XSRG #) ->
(# ipv2_XSRE,
(ipv3_XSRG,
case mkSymCo ipv1_aJqH of wild2_aJaW {
__DEFAULT -> WpCast (mkSubCo wild2_aJaW);
Refl ds4_aJhA -> WpHole;
GRefl ds4_aJho ds5_aJhp mco_aJhq ->
case mco_aJhq of {
MRefl -> WpHole;
MCo co1_aJhv ->
case co1_aJhv of {
__DEFAULT -> WpCast (mkSubCo wild2_aJaW);
Refl ds6_aJhD -> WpHole;
GRefl ds6_aJhF ds7_aJhG ds8_aJhH -> WpHole
}
}
}) #)
}
}
}
})
`cast` (<[TcTyVar]>_R
->_R <TcType>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a_aBvN, HsWrapper)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(a_aBvN,
HsWrapper)>_R)
:: ([TcTyVar]
-> TcType
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a_aBvN, HsWrapper) #))
~R# ([TcTyVar]
-> TcType
-> IOEnv (Env TcGblEnv TcLclEnv) (a_aBvN, HsWrapper)))) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds_sXxt
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, (a_aBvN, HsWrapper))>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, (a_aBvN, HsWrapper))
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, (a_aBvN, HsWrapper)))))
env_aSMj)
`cast` (N:IO[0] <(HsWrapper, (a_aBvN, HsWrapper))>_R
:: IO (HsWrapper, (a_aBvN, HsWrapper))
~R# (State# RealWorld
-> (# State# RealWorld, (HsWrapper, (a_aBvN, HsWrapper)) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (skol_wrap_atIS, ds2_dJnG) ->
case ds2_dJnG of { (result_atIT, ty_wrapper_atIU) ->
(# ipv_aSMn, (result_atIT, <.> skol_wrap_atIS ty_wrapper_atIU) #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(a_aBvN, HsWrapper)>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(a_aBvN, HsWrapper)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, (a_aBvN, HsWrapper) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a_aBvN, HsWrapper))
end Rec }
$wambiguousSelector_r1b0H
:: forall a.
RdrName
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, a #)
[GblId,
Arity=3,
Str=<S,U><S(LLS(LLLSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)L),1*U(U,U,1*U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),1*U(U,A,U,U,U,U,U,U,U,U,U,U))><L,U>,
Unf=OtherCon []]
$wambiguousSelector_r1b0H
= \ (@ a_s16yx)
(ww_s16yC :: RdrName)
(env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case env_aSMj of { Env ds_aSMu dt_aSMv ds1_aSMw ds2_aSMx ->
case ds1_aSMw of wild1_aSMz
{ TcGblEnv ds3_aTiR ds4_aTiS ds5_aTiT ds6_aTj3 ds7_aTj4 ds8_aTj5
ds9_aTj7 ds10_aTj9 ds11_aTja ds12_aTjb ds13_aTjd ds14_aTje
ds15_aTji ds16_aTjj ds17_aTjn ds18_aTjp ds19_aTjq ds20_aTjr
ds21_aTjs ds22_aTjt ds23_aTju ds24_aTjw ds25_aTjx ds26_aTjy
ds27_aTjz ds28_aTjA ds29_aTjB ds30_aTjE ds31_aTjX ds32_aTjY
ds33_aTjZ ds34_aTk0 ds35_aTk6 ds36_aTke ds37_aTkf ds38_aTkg
ds39_aTkp ds40_aTkq ds41_aTkr ds42_aTks ds43_aTkt ds44_aTku
ds45_aTkv ds46_aTkw ds47_aTkx ds48_aTky ds49_aTkz ds50_aTkA
ds51_aTkC ds52_aTkJ ds53_aTkK ds54_aTkL ds55_aTkM ds56_aTkN
ds57_aTkO ds58_aTkP ->
case ((((addNameClashErrRn
ww_s16yC (lookupGRE_RdrName ww_s16yC ds6_aTj3))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <()>_R
:: IOEnv (Env TcGblEnv TcLclEnv) ()
~R# (Env TcGblEnv TcLclEnv -> IO ())))
(Env
@ TcGblEnv
@ TcLclEnv
ds_aSMu
dt_aSMv
wild1_aSMz
(case ds2_aSMx of
{ TcLclEnv ds67_aTt9 ds68_aTta ds69_aTtb ds70_aTtc ds71_aTtd
ds72_aTte ds73_aTtf ds74_aTtg ds75_aTth ds76_aTti ds77_aTtj
ds78_aTtk ->
TcLclEnv
ds67_aTt9
([] @ ErrCtxt)
ds69_aTtb
ds70_aTtc
ds71_aTtd
ds72_aTte
ds73_aTtf
ds74_aTtg
ds75_aTth
ds76_aTti
ds77_aTtj
ds78_aTtk
})))
`cast` (N:IO[0] <()>_R
:: IO () ~R# (State# RealWorld -> (# State# RealWorld, () #))))
s2_aSMk
of
{ (# ipv_aTsT, ipv1_aTsU #) ->
raiseIO# @ SomeException @ a_s16yx $fMonadFailIOEnv2 ipv_aTsT
}
}
}
ambiguousSelector_rpH8 :: forall a. Located RdrName -> TcM a
[GblId, Arity=1, Str=<S,1*U(A,U)>, Unf=OtherCon []]
ambiguousSelector_rpH8
= \ (@ a_X16K8) (w_s16yy :: Located RdrName) ->
case w_s16yy of { L ww1_s16yB ww2_X16Ki ->
($wambiguousSelector_r1b0H @ a_X16K8 ww2_X16Ki)
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <a_X16K8>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <a_X16K8>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, a_X16K8 #))
~R# IOEnv (Env TcGblEnv TcLclEnv) a_X16K8)
}
a#53_r1b0I :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#53_r1b0I = "field of type"#
d47_r1b0J :: Doc
[GblId]
d47_r1b0J
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#53_r1b0I realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#53_r1b0I ds1_a10iv) ds1_a10iv Empty
}
fieldNotInType_r1b0K
:: RecSelParent -> RdrName -> SDocContext -> Doc
[GblId, Arity=3, Str=<S,1*U><S,1*U><L,U(U,U,U)>, Unf=OtherCon []]
fieldNotInType_r1b0K
= \ (p_atX8 :: RecSelParent)
(rdr_atX9 :: RdrName)
(eta_B1 :: SDocContext) ->
unknownSubordinateErr1
((\ (sty_aSI4 [OS=OneShot] :: SDocContext) ->
case pprQuotedList2
(($fOutputableRecSelParent2 p_atX8)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSI4
of wild_aSI5 {
__DEFAULT ->
case d47_r1b0J of wild1_aSI6 {
__DEFAULT -> Beside wild1_aSI6 True wild_aSI5;
Empty -> wild_aSI5
};
Empty -> d47_r1b0J
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
rdr_atX9
eta_B1
a#54_r1b0L :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#54_r1b0L = "does not have the required strict field(s)"#
d48_r1b0M :: Doc
[GblId]
d48_r1b0M
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#54_r1b0L realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#54_r1b0L ds1_a10iv) ds1_a10iv Empty
}
a#55_r1b0N :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#55_r1b0N = "Constructor"#
d49_r1b0O :: Doc
[GblId]
d49_r1b0O
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#55_r1b0N realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#55_r1b0N ds1_a10iv) ds1_a10iv Empty
}
lvl129_r1b0P :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl129_r1b0P = Beside d49_r1b0O True d48_r1b0M
missingStrictFields_rpHr :: ConLike -> [FieldLabelString] -> SDoc
[GblId, Arity=2, Str=<L,U><L,1*U>, Unf=OtherCon []]
missingStrictFields_rpHr
= \ (con_atWY :: ConLike) (fields_atWZ :: [FieldLabelString]) ->
let {
d53_sXxI [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLL),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= $fOutputableBndrConLike2 con_atWY}]
d53_sXxI = $fOutputableBndrConLike2 con_atWY } in
let {
d54_sXxE [Dmd=<L,C(U)>] :: SDoc
[LclId]
d54_sXxE
= case fields_atWZ of wild_aSK1 {
[] ->
empty1 `cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc);
: ds1_aSK5 ds2_aSK6 ->
let {
d55_sXxL :: [SDoc]
[LclId]
d55_sXxL
= punctuate
($fOutputableIntMap4
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(map
@ FastString
@ SDoc
($fOutputableFastString2
`cast` (<FastString>_R ->_R Sym (N:SDoc[0])
:: (FastString -> SDocContext -> Doc) ~R# (FastString -> SDoc)))
wild_aSK1) } in
(\ (sty_XSMZ :: SDocContext) ->
case $fOutputableIntMap3 d55_sXxL sty_XSMZ of wild1_aSI5 {
__DEFAULT -> Beside lvl34_r1aXD True wild1_aSI5;
Empty -> colon
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
} } in
(\ (sty_aSHV :: SDocContext) ->
case (d54_sXxE `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aSHV
of wild_aSHW {
__DEFAULT ->
case d48_r1b0M of wild1_aSI5 {
__DEFAULT ->
case pprQuotedList2
(d53_sXxI
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSZ9 {
__DEFAULT ->
case d49_r1b0O of wild3_aSI6 {
__DEFAULT ->
Beside
(Beside (Beside wild3_aSI6 True wild2_XSZ9) True wild1_aSI5)
False
wild_aSHW;
Empty -> Beside (Beside wild2_XSZ9 True wild1_aSI5) False wild_aSHW
};
Empty ->
case d49_r1b0O of {
__DEFAULT -> Beside lvl129_r1b0P False wild_aSHW;
Empty -> Beside wild1_aSI5 False wild_aSHW
}
};
Empty ->
case pprQuotedList2
(d53_sXxI
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSZg {
__DEFAULT ->
case d49_r1b0O of wild3_aSI6 {
__DEFAULT ->
Beside (Beside wild3_aSI6 True wild2_XSZg) False wild_aSHW;
Empty -> Beside wild2_XSZg False wild_aSHW
};
Empty ->
case d49_r1b0O of wild3_aSHX {
__DEFAULT -> Beside wild3_aSHX False wild_aSHW;
Empty -> wild_aSHW
}
}
};
Empty ->
case d48_r1b0M of wild1_aSI5 {
__DEFAULT ->
case pprQuotedList2
(d53_sXxI
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSZ9 {
__DEFAULT ->
case d49_r1b0O of wild3_aSI6 {
__DEFAULT ->
Beside (Beside wild3_aSI6 True wild2_XSZ9) True wild1_aSI5;
Empty -> Beside wild2_XSZ9 True wild1_aSI5
};
Empty ->
case d49_r1b0O of {
__DEFAULT -> lvl129_r1b0P;
Empty -> wild1_aSI5
}
};
Empty ->
case pprQuotedList2
(d53_sXxI
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSTa {
__DEFAULT ->
case d49_r1b0O of wild3_aSI6 {
__DEFAULT -> Beside wild3_aSI6 True wild2_XSTa;
Empty -> wild2_XSTa
};
Empty -> d49_r1b0O
}
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
a#56_r1b0Q :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#56_r1b0Q = "not initialised"#
d50_r1b0R :: Doc
[GblId]
d50_r1b0R
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#56_r1b0Q realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#56_r1b0Q ds1_a10iv) ds1_a10iv Empty
}
a#57_r1b0S :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#57_r1b0S = "Fields of"#
d51_r1b0T :: Doc
[GblId]
d51_r1b0T
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#57_r1b0S realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#57_r1b0S ds1_a10iv) ds1_a10iv Empty
}
lvl130_r1b0U :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl130_r1b0U = Beside d51_r1b0T True d50_r1b0R
missingFields_rpHs :: ConLike -> [FieldLabelString] -> SDoc
[GblId, Arity=2, Str=<L,U><L,1*U>, Unf=OtherCon []]
missingFields_rpHs
= \ (con_atX2 :: ConLike) (fields_atX3 :: [FieldLabelString]) ->
let {
d53_sXxW [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLL),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= $fOutputableBndrConLike2 con_atX2}]
d53_sXxW = $fOutputableBndrConLike2 con_atX2 } in
let {
d54_sXxS [Dmd=<L,C(U)>] :: SDoc
[LclId]
d54_sXxS
= case fields_atX3 of wild_aSK1 {
[] ->
empty1 `cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc);
: ds1_aSK5 ds2_aSK6 ->
let {
d55_sXxZ :: [SDoc]
[LclId]
d55_sXxZ
= punctuate
($fOutputableIntMap4
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(map
@ FastString
@ SDoc
($fOutputableFastString2
`cast` (<FastString>_R ->_R Sym (N:SDoc[0])
:: (FastString -> SDocContext -> Doc) ~R# (FastString -> SDoc)))
wild_aSK1) } in
(\ (sty_XSMY :: SDocContext) ->
case $fOutputableIntMap3 d55_sXxZ sty_XSMY of wild1_aSI5 {
__DEFAULT -> Beside lvl34_r1aXD True wild1_aSI5;
Empty -> colon
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
} } in
(\ (sty_aSHV :: SDocContext) ->
case (d54_sXxS `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aSHV
of wild_aSHW {
__DEFAULT ->
case d50_r1b0R of wild1_aSI5 {
__DEFAULT ->
case pprQuotedList2
(d53_sXxW
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSZ5 {
__DEFAULT ->
case d51_r1b0T of wild3_aSI6 {
__DEFAULT ->
Beside
(Beside (Beside wild3_aSI6 True wild2_XSZ5) True wild1_aSI5)
False
wild_aSHW;
Empty -> Beside (Beside wild2_XSZ5 True wild1_aSI5) False wild_aSHW
};
Empty ->
case d51_r1b0T of {
__DEFAULT -> Beside lvl130_r1b0U False wild_aSHW;
Empty -> Beside wild1_aSI5 False wild_aSHW
}
};
Empty ->
case pprQuotedList2
(d53_sXxW
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSZc {
__DEFAULT ->
case d51_r1b0T of wild3_aSI6 {
__DEFAULT ->
Beside (Beside wild3_aSI6 True wild2_XSZc) False wild_aSHW;
Empty -> Beside wild2_XSZc False wild_aSHW
};
Empty ->
case d51_r1b0T of wild3_aSHX {
__DEFAULT -> Beside wild3_aSHX False wild_aSHW;
Empty -> wild_aSHW
}
}
};
Empty ->
case d50_r1b0R of wild1_aSI5 {
__DEFAULT ->
case pprQuotedList2
(d53_sXxW
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSZ5 {
__DEFAULT ->
case d51_r1b0T of wild3_aSI6 {
__DEFAULT ->
Beside (Beside wild3_aSI6 True wild2_XSZ5) True wild1_aSI5;
Empty -> Beside wild2_XSZ5 True wild1_aSI5
};
Empty ->
case d51_r1b0T of {
__DEFAULT -> lvl130_r1b0U;
Empty -> wild1_aSI5
}
};
Empty ->
case pprQuotedList2
(d53_sXxW
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSHV
of wild2_XSTe {
__DEFAULT ->
case d51_r1b0T of wild3_aSI6 {
__DEFAULT -> Beside wild3_aSI6 True wild2_XSTe;
Empty -> wild2_XSTe
};
Empty -> d51_r1b0T
}
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
getFixedTyVars
:: [FieldLabelString] -> [TyVar] -> [ConLike] -> TyVarSet
[GblId, Arity=3, Str=<L,U><L,U><S,1*U>, Unf=OtherCon []]
getFixedTyVars
= \ (upd_fld_occs_atMF :: [FieldLabelString])
(univ_tvs_atMG :: [TyVar])
(cons_atMH :: [ConLike]) ->
letrec {
go25_s19bK [Occ=LoopBreaker] :: [FieldLbl Name] -> [Type] -> [Type]
[LclId, Arity=2, Str=<S,1*U><L,1*U>, Unf=OtherCon []]
go25_s19bK
= \ (ds_aSGL :: [FieldLbl Name]) (_ys_aSGM :: [Type]) ->
case ds_aSGL of {
[] -> [] @ Type;
: ipv_aSGR ipv1_aSGS ->
case _ys_aSGM of {
[] -> [] @ Type;
: ipv2_aSGY ipv3_aSGZ ->
case elem
@ FieldLabelString
$fEqFastString
(case ipv_aSGR of { FieldLabel ds1_aE7c ds2_aE7d ds3_aE7e ->
ds1_aE7c
})
upd_fld_occs_atMF
of {
False -> : @ Type ipv2_aSGY (go25_s19bK ipv1_aSGS ipv3_aSGZ);
True -> go25_s19bK ipv1_aSGS ipv3_aSGZ
}
}
}; } in
letrec {
go26_aSw3 [Occ=LoopBreaker] :: [ConLike] -> [Var]
[LclId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go26_aSw3
= \ (ds_aSw4 :: [ConLike]) ->
case ds_aSw4 of {
[] -> [] @ Var;
: y_aSw9 ys_aSwa ->
let {
ds1_sXy3 [Dmd=<L,U(1*U,A,1*U,1*U,1*U,1*U,A)>]
:: ([TyVar], [TyCoVar], [EqSpec], ThetaType, ThetaType, [Type],
Type)
[LclId]
ds1_sXy3
= case y_aSw9 of {
RealDataCon con_aEym ->
(case con_aEym of
{ MkData ds2_aEyq ds3_aEyr ds4_aEys ds5_aEyt ds6_aEyu ds7_aEyv
ds8_aEyw ds9_aEyx ds10_aEyy ds11_aEyz ds12_aEyA ds13_aEyB
ds14_aEyC ds15_aEyD ds16_aEyE ds17_aEyF ds18_aEyG ds19_aEyH
ds20_aEyI ds21_aEyJ ds22_aEyK ds23_aEyL ->
ds6_aEyu
},
case con_aEym of
{ MkData ds2_aEyP ds3_aEyQ ds4_aEyR ds5_aEyS ds6_aEyT ds7_aEyU
ds8_aEyV ds9_aEyW ds10_aEyX ds11_aEyY ds12_aEyZ ds13_aEz0
ds14_aEz1 ds15_aEz2 ds16_aEz3 ds17_aEz4 ds18_aEz5 ds19_aEz6
ds20_aEz7 ds21_aEz8 ds22_aEz9 ds23_aEza ->
ds7_aEyU
},
case con_aEym of
{ MkData ds2_aEze ds3_aEzf ds4_aEzg ds5_aEzh ds6_aEzi ds7_aEzj
ds8_aEzk ds9_aEzl ds10_aEzm ds11_aEzn ds12_aEzo ds13_aEzp
ds14_aEzq ds15_aEzr ds16_aEzs ds17_aEzt ds18_aEzu ds19_aEzv
ds20_aEzw ds21_aEzx ds22_aEzy ds23_aEzz ->
ds9_aEzl
},
case con_aEym of
{ MkData ds2_aEzD ds3_aEzE ds4_aEzF ds5_aEzG ds6_aEzH ds7_aEzI
ds8_aEzJ ds9_aEzK ds10_aEzL ds11_aEzM ds12_aEzN ds13_aEzO
ds14_aEzP ds15_aEzQ ds16_aEzR ds17_aEzS ds18_aEzT ds19_aEzU
ds20_aEzV ds21_aEzW ds22_aEzX ds23_aEzY ->
ds10_aEzL
},
[] @ PredType,
case con_aEym of
{ MkData ds2_aEA2 ds3_aEA3 ds4_aEA4 ds5_aEA5 ds6_aEA6 ds7_aEA7
ds8_aEA8 ds9_aEA9 ds10_aEAa ds11_aEAb ds12_aEAc ds13_aEAd
ds14_aEAe ds15_aEAf ds16_aEAg ds17_aEAh ds18_aEAi ds19_aEAj
ds20_aEAk ds21_aEAl ds22_aEAm ds23_aEAn ->
ds12_aEAc
},
case con_aEym of
{ MkData ds2_aEAr ds3_aEAs ds4_aEAt ds5_aEAu ds6_aEAv ds7_aEAw
ds8_aEAx ds9_aEAy ds10_aEAz ds11_aEAA ds12_aEAB ds13_aEAC
ds14_aEAD ds15_aEAE ds16_aEAF ds17_aEAG ds18_aEAH ds19_aEAI
ds20_aEAJ ds21_aEAK ds22_aEAL ds23_aEAM ->
ds13_aEAC
});
PatSynCon pat_syn_aEAQ ->
let {
ds2_aEAP [Dmd=<L,U(1*U,1*U,A,1*U,1*U,A)>]
:: ([TyVar], ThetaType, [TyVar], ThetaType, [Type], Type)
[LclId]
ds2_aEAP
= case pat_syn_aEAQ of
{ MkPatSyn ds3_aEAX ds4_aEAY ds5_aEAZ ds6_aEB0 ds7_aEB1 ds8_aEB2
ds9_aEB3 ds10_aEB4 ds11_aEB5 ds12_aEB6 ds13_aEB7
ds14_aEB8 ds15_aEB9 ->
(binderVars @ TyVar @ ArgFlag ds9_aEB3, ds10_aEB4,
binderVars @ TyVar @ ArgFlag ds11_aEB5, ds12_aEB6, ds5_aEAZ,
ds13_aEB7)
} } in
(case ds2_aEAP of
{ (univ_tvs1_aEBd, req_aEBe, ex_tvs_aEBf, prov_aEBg, arg_tys_aEBh,
res_ty_aEBi) ->
univ_tvs1_aEBd
},
case ds2_aEAP of
{ (univ_tvs1_aEBm, req_aEBn, ex_tvs_aEBo, prov_aEBp, arg_tys_aEBq,
res_ty_aEBr) ->
ex_tvs_aEBo
},
[] @ EqSpec,
case ds2_aEAP of
{ (univ_tvs1_aEBv, req_aEBw, ex_tvs_aEBx, prov_aEBy, arg_tys_aEBz,
res_ty_aEBA) ->
prov_aEBy
},
case ds2_aEAP of
{ (univ_tvs1_aEBE, req_aEBF, ex_tvs_aEBG, prov_aEBH, arg_tys_aEBI,
res_ty_aEBJ) ->
req_aEBF
},
case ds2_aEAP of
{ (univ_tvs1_aEBN, req_aEBO, ex_tvs_aEBP, prov_aEBQ, arg_tys_aEBR,
res_ty_aEBS) ->
arg_tys_aEBR
},
case ds2_aEAP of
{ (univ_tvs1_aEBW, req_aEBX, ex_tvs_aEBY, prov_aEBZ, arg_tys_aEC0,
res_ty_aEC1) ->
res_ty_aEC1
})
} } in
let {
fixed_tvs_sXy2 :: IntMap Var
[LclId]
fixed_tvs_sXy2
= case ds1_sXy3 of
{ (u_tvs_atMJ, ds2_dECt, eqspec_atMK, prov_theta_atML,
req_theta_atMM, arg_tys_atMN, ds3_dECu) ->
let {
arg1_s10rw [Dmd=<S,1*U>] :: TyCoVarSet
[LclId]
arg1_s10rw
= ty_co_vars_of_types
(++
@ Type
(dataConCannotMatch_go2 eqspec_atMK)
(++ @ Type prov_theta_atML req_theta_atMM))
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var))
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var)) } in
case y_aSw9 of {
RealDataCon data_con_aE7j ->
case data_con_aE7j of
{ MkData ds4_aE7o ds5_aE7p ds6_aE7q ds7_aE7r ds8_aE7s ds9_aE7t
ds10_aE7u ds11_aE7v ds12_aE7w ds13_aE7x ds14_aE7y ds15_aE7z
ds16_aE7A ds17_aE7B ds18_aE7C ds19_aE7D ds20_aE7K ds21_aE7L
ds22_aE7M ds23_aE7N ds24_aE7O ds25_aE7P ->
$fMonoidIntMap1
@ Var
(arg1_s10rw
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Var>_N
:: UniqSet Var ~R# IntMap Var))
((exactTyCoVarsOfTypes_go (go25_s19bK ds17_aE7B arg_tys_atMN))
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Var>_N
:: UniqSet Var ~R# IntMap Var))
};
PatSynCon pat_syn_aE7S ->
case pat_syn_aE7S of
{ MkPatSyn ds4_aE7X ds5_aE7Y ds6_aE7Z ds7_aE80 ds8_aE81 ds9_aE82
ds10_aE83 ds11_aE84 ds12_aE85 ds13_aE86 ds14_aE87 ds15_aE88
ds16_aE89 ->
$fMonoidIntMap1
@ Var
(arg1_s10rw
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Var>_N
:: UniqSet Var ~R# IntMap Var))
((exactTyCoVarsOfTypes_go (go25_s19bK ds9_aE82 arg_tys_atMN))
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Var>_N
:: UniqSet Var ~R# IntMap Var))
}
}
} } in
let {
z_aSGJ :: [Var]
[LclId]
z_aSGJ = go26_aSw3 ys_aSwa } in
letrec {
go27_aSGK [Occ=LoopBreaker] :: [Var] -> [Var] -> [Var]
[LclId, Arity=2, Str=<S,1*U><L,1*U>, Unf=OtherCon []]
go27_aSGK
= \ (ds2_aSGL :: [Var]) (_ys_aSGM :: [Var]) ->
case ds2_aSGL of {
[] -> z_aSGJ;
: ipv_aSGR ipv1_aSGS ->
case _ys_aSGM of {
[] -> z_aSGJ;
: ipv2_aSGY ipv3_aSGZ ->
case elemVarSet
ipv2_aSGY
(fixed_tvs_sXy2
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var))
of {
False -> go27_aSGK ipv1_aSGS ipv3_aSGZ;
True -> : @ Var ipv_aSGR (go27_aSGK ipv1_aSGS ipv3_aSGZ)
}
}
}; } in
go27_aSGK
univ_tvs_atMG
(case ds1_sXy3 of
{ (u_tvs_atMJ, ds2_dECg, eqspec_atMK, prov_theta_atML,
req_theta_atMM, arg_tys_atMN, ds3_dECh) ->
u_tvs_atMJ
})
}; } in
extendVarSetList_go
(go26_aSw3 cons_atMH)
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var ~R# UniqSet Var))
Rec {
obviousSig_rpHd :: HsExpr GhcRn -> Maybe (LHsSigWcType GhcRn)
[GblId, Arity=1, Caf=NoCafRefs, Str=<S,1*U>, Unf=OtherCon []]
obviousSig_rpHd
= \ (ds_dEdM :: HsExpr GhcRn) ->
case ds_dEdM of {
__DEFAULT -> Nothing @ (LHsSigWcType GhcRn);
HsPar ds1_dEgF p_atNS ->
case p_atNS
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))))_R
:: GenLocated SrcSpan (HsExpr GhcRn)
~R# GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))))
of
{ L ds2_aDdY e_aDdZ ->
obviousSig_rpHd
(e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))
~R# HsExpr GhcRn))
};
ExprWithTySig ds1_dEgD ds2_dEgE ty_atNR ->
Just
@ (LHsSigWcType GhcRn)
(ty_atNR
`cast` ((HsWildCardBndrs
(D:R:NoGhcTc[0] <'Renamed>_N ; (GhcPass
(D:R:NoGhcTcPass[1] <'Renamed>_N))_N)
(HsImplicitBndrs
(D:R:NoGhcTc[0] <'Renamed>_N ; (GhcPass
(D:R:NoGhcTcPass[1] <'Renamed>_N))_N)
(GenLocated
<SrcSpan>_N
(HsType
(D:R:NoGhcTc[0] <'Renamed>_N ; (GhcPass
(D:R:NoGhcTcPass[1]
<'Renamed>_N))_N))_N)_N)_N)_R
:: HsWildCardBndrs
(NoGhcTc (GhcPass 'Renamed))
(HsImplicitBndrs
(NoGhcTc (GhcPass 'Renamed))
(GenLocated SrcSpan (HsType (NoGhcTc (GhcPass 'Renamed)))))
~R# HsWildCardBndrs
(GhcPass 'Renamed)
(HsImplicitBndrs
(GhcPass 'Renamed)
(GenLocated SrcSpan (HsType (GhcPass 'Renamed))))))
}
end Rec }
tyConOf_rpHa :: FamInstEnvs -> TcSigmaType -> Maybe TyCon
[GblId,
Arity=2,
Str=<L,1*U(1*U(1*U,A),1*U(1*U,A))><S,U>,
Unf=OtherCon []]
tyConOf_rpHa
= \ (fam_inst_envs_atNE :: FamInstEnvs)
(ty0_atNF :: TcSigmaType) ->
case $wsplit4 ty0_atNF ty0_atNF ([] @ TyCoVar) of
{ (# ww1_aEa2, ww2_aEa3 #) ->
case $wsplit1 ww2_aEa3 ([] @ PredType) of
{ (# ww5_aEa7, ww6_aEa8 #) ->
case $wtcSplitTyConApp_maybe ww6_aEa8 of {
Nothing -> Nothing @ TyCon;
Just ds_dEi5 ->
case ds_dEi5 of { (tc_atNH, tys_atNI) ->
Just
@ TyCon
(case tcLookupDataFamInst_maybe fam_inst_envs_atNE tc_atNH tys_atNI
of {
Nothing -> tc_atNH;
Just ds1_aEhV ->
case ds1_aEhV of { (a1_aEhm, ds2_aEhn, ds3_aEho) -> a1_aEhm }
})
}
}
}
}
Rec {
go1_r1b0V
:: [GlobalRdrElt]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #)
[GblId,
Arity=3,
Str=<S,1*U><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
go1_r1b0V
= \ (ds_aSw4 :: [GlobalRdrElt])
(eta_Xdy :: Env TcGblEnv TcLclEnv)
(eta1_Xr5 :: State# RealWorld) ->
case ds_aSw4 of {
[] -> (# eta1_Xr5, [] @ (RecSelParent, GlobalRdrElt) #);
: y_aSw9 ys_aSwa ->
lvl122_r1b0k
y_aSw9
((go1_r1b0V ys_aSwa)
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[(RecSelParent, GlobalRdrElt)]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[(RecSelParent,
GlobalRdrElt)]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #))
~R# IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)]))
eta_Xdy
eta1_Xr5
}
end Rec }
disambiguateSelector_r1b0W
:: Located RdrName
-> Type
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, Name #)
[GblId,
Arity=4,
Str=<S(LS),1*U(A,U)><S,U><S(SLS(LLLSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)L),1*U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U(U,U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
disambiguateSelector_r1b0W
= \ (lr_atMW :: Located RdrName)
(parent_type_atMY :: Type)
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case lr_atMW of { L ds_dExr rdr_atMX ->
case eta_B2 of wild1_aTzm
{ Env ds1_aTzo dt_aTzp ds2_aTzq ds3_aTzr ->
case ds1_aTzo of wild2_s19bO
{ HscEnv ds4_s19bP ds5_s19bQ ds6_s19bR ds7_s19bS ds8_s19bT
dt1_s19bU dt2_s19bV dt3_s19bW ds9_s19bX ds10_s19bY ds11_s19bZ ->
case readMutVar#
@ RealWorld @ ExternalPackageState dt1_s19bU eta1_B1
of
{ (# ipv_aTzJ, ipv1_aTzK #) ->
case tyConOf_rpHa
(case ipv1_aTzK of
{ EPS ds17_aTCv ds18_aTCz ds19_aTCB ds20_aTCC ds21_aTCE ds22_aTCG
ds23_aTCI ds24_aTCL ds25_aTCN ds26_aTCQ ds27_aTCR ->
ds22_aTCG
},
case ds2_aTzq of
{ TcGblEnv ds17_aTCX ds18_aTCY ds19_aTCZ ds20_aTD0 ds21_aTD1
ds22_aTD2 ds23_aTD3 ds24_aTD4 ds25_aTD5 ds26_aTD6 ds27_aTD7
ds12_aTD8 ds13_aTD9 ds14_aTDa ds15_aTDb ds28_aTDc ds29_aTDd
ds30_aTDe ds31_aTDf ds32_aTDg ds33_aTDh ds34_aTDi ds35_aTDj
ds36_aTDk ds37_aTDl ds38_aTDm ds39_aTDn ds40_aTDo ds41_aTDp
ds42_aTDq ds43_aTDr ds44_aTDs ds45_aTDt ds46_aTDu ds47_aTDv
ds48_aTDw ds49_aTDx ds50_aTDy ds51_aTDz ds52_aTDA ds53_aTDB
ds54_aTDC ds55_aTDD ds56_aTDE ds57_aTDF ds58_aTDG ds59_aTDH
ds60_aTDI ds61_aTDJ ds62_aTDK ds63_aTDL ds64_aTDM ds65_aTDN
ds66_aTDO ds67_aTDP ds68_aTDQ ->
ds27_aTD7
})
parent_type_atMY
of {
Nothing ->
case ds2_aTzq of wild4_aSMz
{ TcGblEnv ds22_aTiR ds23_aTiS ds24_aTiT ds25_aTj3 ds26_aTj4
ds27_aTj5 ds28_aTj7 ds29_aTj9 ds30_aTja ds12_aTjb ds13_aTjd
ds14_aTje ds15_aTji ds31_aTjj ds17_aTjn ds18_aTjp ds19_aTjq
ds20_aTjr ds21_aTjs ds32_aTjt ds33_aTju ds34_aTjw ds35_aTjx
ds36_aTjy ds37_aTjz ds38_aTjA ds39_aTjB ds40_aTjE ds41_aTjX
ds42_aTjY ds43_aTjZ ds44_aTk0 ds45_aTk6 ds46_aTke ds47_aTkf
ds48_aTkg ds49_aTkp ds50_aTkq ds51_aTkr ds52_aTks ds53_aTkt
ds54_aTku ds55_aTkv ds56_aTkw ds57_aTkx ds58_aTky ds59_aTkz
ds60_aTkA ds61_aTkC ds62_aTkJ ds63_aTkK ds64_aTkL ds65_aTkM
ds66_aTkN ds67_aTkO ds68_aTkP ->
case ((((addNameClashErrRn
rdr_atMX (lookupGRE_RdrName rdr_atMX ds25_aTj3))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <()>_R
:: IOEnv (Env TcGblEnv TcLclEnv) ()
~R# (Env TcGblEnv TcLclEnv -> IO ())))
(Env
@ TcGblEnv
@ TcLclEnv
wild2_s19bO
dt_aTzp
wild4_aSMz
(case ds3_aTzr of
{ TcLclEnv ds69_aTt9 ds70_aTta ds71_aTtb ds72_aTtc ds73_aTtd
ds74_aTte ds75_aTtf ds76_aTtg ds77_aTth ds78_aTti ds79_aTtj
ds80_aTtk ->
TcLclEnv
ds69_aTt9
([] @ ErrCtxt)
ds71_aTtb
ds72_aTtc
ds73_aTtd
ds74_aTte
ds75_aTtf
ds76_aTtg
ds77_aTth
ds78_aTti
ds79_aTtj
ds80_aTtk
})))
`cast` (N:IO[0] <()>_R
:: IO () ~R# (State# RealWorld -> (# State# RealWorld, () #))))
ipv_aTzJ
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
raiseIO# @ SomeException @ Name $fMonadFailIOEnv2 ipv2_aTsT
}
};
Just p_atN0 ->
case ds2_aTzq of
{ TcGblEnv ds22_aTiR ds23_aTiS ds24_aTiT ds25_aTj3 ds26_aTj4
ds27_aTj5 ds28_aTj7 ds29_aTj9 ds30_aTja ds12_aTjb ds13_aTjd
ds14_aTje ds15_aTji ds31_aTjj ds17_aTjn ds18_aTjp ds19_aTjq
ds20_aTjr ds21_aTjs ds32_aTjt ds33_aTju ds34_aTjw ds35_aTjx
ds36_aTjy ds37_aTjz ds38_aTjA ds39_aTjB ds40_aTjE ds41_aTjX
ds42_aTjY ds43_aTjZ ds44_aTk0 ds45_aTk6 ds46_aTke ds47_aTkf
ds48_aTkg ds49_aTkp ds50_aTkq ds51_aTkr ds52_aTks ds53_aTkt
ds54_aTku ds55_aTkv ds56_aTkw ds57_aTkx ds58_aTky ds59_aTkz
ds60_aTkA ds61_aTkC ds62_aTkJ ds63_aTkK ds64_aTkL ds65_aTkM
ds66_aTkN ds67_aTkO ds68_aTkP ->
case go1_r1b0V
(lookupGRE_RdrName rdr_atMX ds25_aTj3) wild1_aTzm ipv_aTzJ
of
{ (# ipv2_XSRE, ipv3_XSRG #) ->
let {
parent_sXwx :: RecSelParent
[LclId, Unf=OtherCon []]
parent_sXwx = RecSelData p_atN0 } in
case lookup
@ RecSelParent
@ GlobalRdrElt
$fEqRecSelParent
parent_sXwx
ipv3_XSRG
of {
Nothing ->
checkTc2
@ Name
((fieldNotInType_r1b0K parent_sXwx rdr_atMX)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
wild1_aTzm
ipv2_XSRE;
Just gre_atN3 ->
case ((((addUsedGRE True gre_atN3)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <()>_R
:: IOEnv (Env TcGblEnv TcLclEnv) ()
~R# (Env TcGblEnv TcLclEnv -> IO ())))
wild1_aTzm)
`cast` (N:IO[0] <()>_R
:: IO () ~R# (State# RealWorld -> (# State# RealWorld, () #))))
ipv2_XSRE
of
{ (# ipv4_aTsT, ipv5_aTsU #) ->
(# ipv4_aTsT,
case gre_atN3 of { GRE ds71_aEh7 ds72_aEh8 ds73_aEh9 ds74_aEha ->
ds71_aEh7
} #)
}
}
}
}
}
}
}
}
}
Rec {
tcCheckRecSelId_rpGV
:: HsExpr GhcRn
-> AmbiguousFieldOcc GhcRn -> ExpRhoType -> TcM (HsExpr GhcTcId)
[GblId, Arity=3, Str=<L,U><S,1*U><L,U>, Unf=OtherCon []]
tcCheckRecSelId_rpGV
= \ (rn_expr_atKT :: HsExpr GhcRn)
(f_atKU :: AmbiguousFieldOcc GhcRn)
(res_ty_atKW :: ExpRhoType) ->
case f_atKU of wild_X5u {
Unambiguous ds_dJ9n ds1_dJ9o ->
case ds1_dJ9o of { L ds2_dJ9p lbl_atKV ->
let {
lvl168_sXL8 :: HsExpr GhcRn
[LclId, Unf=OtherCon []]
lvl168_sXL8
= HsRecFld
@ GhcRn
(NoExt
`cast` (Sub (Sym (D:R:XRecFldGhcPass[0] <'Renamed>_N))
:: NoExt ~R# XRecFld (GhcPass 'Renamed)))
wild_X5u } in
let {
lvl169_sXL9 :: CtOrigin
[LclId, Unf=OtherCon []]
lvl169_sXL9 = OccurrenceOfRecSel lbl_atKV } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case tc_infer_id_r1aZC
lbl_atKV
(ds_dJ9n
`cast` (Sub (D:R:XUnambiguousGhcPass0[0])
:: XUnambiguous GhcRn ~R# Name))
env_aSMj
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (expr'_atL6, ty_atL7) ->
tcCheckId1
@ (HsExpr GhcTcId)
False
lvl168_sXL8
ty_atL7
res_ty_atKW
(tcWrapResultO
lvl169_sXL9 rn_expr_atKT expr'_atL6 ty_atL7 res_ty_atKW)
env_aSMj
ipv_aSMn
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
};
Ambiguous ds_dJ9q lbl_atL0 ->
case res_ty_atKW of wild1_aEip {
Check ty_aEiu ->
case tcSplitFunTy_maybe ty_aEiu of {
Nothing -> ambiguousSelector_rpH8 @ (HsExpr GhcTcId) lbl_atL0;
Just ds1_dJ92 ->
case ds1_dJ92 of { (arg1_atL2, ds2_dJ93) ->
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case disambiguateSelector_r1b0W lbl_atL0 arg1_atL2 env_aSMj s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
((((tcCheckRecSelId_rpGV
rn_expr_atKT
(Unambiguous
@ GhcRn
(ipv1_aSMo
`cast` (Sub (Sym (D:R:XUnambiguousGhcPass0[0]))
:: Name ~R# XUnambiguous GhcRn))
lbl_atL0)
wild1_aEip)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
ipv_aSMn
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
}
};
Infer ipv_aEix ->
ambiguousSelector_rpH8 @ (HsExpr GhcTcId) lbl_atL0
};
XAmbiguousFieldOcc ds_dJ9r -> lvl104_r1aZi
}
end Rec }
loc7_r1b0X :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
loc7_r1b0X = I# 51#
loc8_r1b0Y :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
loc8_r1b0Y = I# 1025#
loc9_r1b0Z :: Int
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
loc9_r1b0Z = I# 18#
$dIP4_r1b10 :: SrcLoc
[GblId, Str=m, Unf=OtherCon []]
$dIP4_r1b10
= SrcLoc
loc_r1b0l
loc1_r1b0m
loc3_r1b0o
loc8_r1b0Y
loc9_r1b0Z
loc8_r1b0Y
loc7_r1b0X
$dIP5_r1b11 :: CallStack
[GblId, Str=m2, Unf=OtherCon []]
$dIP5_r1b11 = PushCallStack $dIP2_r1b0u $dIP4_r1b10 EmptyCallStack
lvl131_r1b12 :: HsExpr GhcRn -> TcM (HsExpr GhcTcId)
[GblId, Arity=1, Str=<B,U>b, Unf=OtherCon []]
lvl131_r1b12
= \ (ds_dK9Q :: HsExpr GhcRn) ->
pprPanic
@ (TcM (HsExpr GhcTcId))
($dIP5_r1b11
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)))
lvl41_r1aXK
($wpprExpr
@ 'Renamed
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (NameOrRdrName (IdP GhcRn))))
($fOutputableBndrName
`cast` ((OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_R
:: OutputableBndr Name ~R# OutputableBndr (IdP GhcRn)))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_R
:: OutputableBndr Name
~R# OutputableBndr
(NameOrRdrName (IdP (NoGhcTc (GhcPass 'Renamed))))))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed)))))
@~ (D:R:NoGhcTc[0] <'Renamed>_N ; ((GhcPass
(D:R:NoGhcTcPass[1]
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N))))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))
:: NoGhcTc (GhcPass 'Renamed)
~# NoGhcTc (NoGhcTc (GhcPass 'Renamed)))
($fOutputableHsExpr2
`cast` (((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds GhcRn), Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn))))
($fOutputableHsExpr2
`cast` (((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn))))
ds_dK9Q)
$tc'NotClosed3 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 0}]
$tc'NotClosed3 = "'NotClosed"#
$tc'NotClosed2 :: TrName
[GblId,
Caf=NoCafRefs,
Str=m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tc'NotClosed2 = TrNameS $tc'NotClosed3
$tc'NotTypeClosed3 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 50 0}]
$tc'NotTypeClosed3 = "'NotTypeClosed"#
$tc'NotTypeClosed2 :: TrName
[GblId,
Caf=NoCafRefs,
Str=m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tc'NotTypeClosed2 = TrNameS $tc'NotTypeClosed3
$tc'NotLetBoundReason3 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 60 0}]
$tc'NotLetBoundReason3 = "'NotLetBoundReason"#
$tc'NotLetBoundReason2 :: TrName
[GblId,
Caf=NoCafRefs,
Str=m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tc'NotLetBoundReason2 = TrNameS $tc'NotLetBoundReason3
$tcNotClosedReason2 :: Addr#
[GblId,
Caf=NoCafRefs,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 50 0}]
$tcNotClosedReason2 = "NotClosedReason"#
$tcNotClosedReason1 :: TrName
[GblId,
Caf=NoCafRefs,
Str=m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$tcNotClosedReason1 = TrNameS $tcNotClosedReason2
$krep_r1b13 :: KindRep
[GblId, Caf=NoCafRefs, Str=m1, Unf=OtherCon []]
$krep_r1b13 = KindRepTyConApp $tcVar ([] @ KindRep)
$krep1_r1b14 :: [KindRep]
[GblId, Caf=NoCafRefs, Str=m2, Unf=OtherCon []]
$krep1_r1b14 = : @ KindRep $krep_r1b13 ([] @ KindRep)
$krep2_r1b15 :: KindRep
[GblId, Caf=NoCafRefs, Str=m1, Unf=OtherCon []]
$krep2_r1b15 = KindRepTyConApp $tcUniqSet $krep1_r1b14
$krep3_r1b16 :: KindRep
[GblId, Caf=NoCafRefs, Str=m1, Unf=OtherCon []]
$krep3_r1b16 = KindRepTyConApp $tcName ([] @ KindRep)
$trModule1 :: TrName
[GblId,
Caf=NoCafRefs,
Str=m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule1 = TrNameS $trModule2
$trModule3 :: TrName
[GblId,
Caf=NoCafRefs,
Str=m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule3 = TrNameS $trModule4
$trModule :: Module
[GblId,
Caf=NoCafRefs,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$trModule = Module $trModule3 $trModule1
$tcNotClosedReason :: TyCon
[GblId,
Caf=NoCafRefs,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tcNotClosedReason
= TyCon
5274506120682651157##
11504007081470178705##
$trModule
$tcNotClosedReason1
0#
krep$*
$tc'NotLetBoundReason1 [InlPrag=NOUSERINLINE[~]] :: KindRep
[GblId, Caf=NoCafRefs, Str=m1, Unf=OtherCon []]
$tc'NotLetBoundReason1
= KindRepTyConApp $tcNotClosedReason ([] @ KindRep)
$tc'NotTypeClosed1 [InlPrag=NOUSERINLINE[~]] :: KindRep
[GblId, Caf=NoCafRefs, Str=m4, Unf=OtherCon []]
$tc'NotTypeClosed1 = KindRepFun $krep2_r1b15 $tc'NotLetBoundReason1
$krep4_r1b17 :: KindRep
[GblId, Caf=NoCafRefs, Str=m4, Unf=OtherCon []]
$krep4_r1b17
= KindRepFun $tc'NotLetBoundReason1 $tc'NotLetBoundReason1
$tc'NotClosed1 [InlPrag=NOUSERINLINE[~]] :: KindRep
[GblId, Caf=NoCafRefs, Str=m4, Unf=OtherCon []]
$tc'NotClosed1 = KindRepFun $krep3_r1b16 $krep4_r1b17
$tc'NotLetBoundReason :: TyCon
[GblId,
Caf=NoCafRefs,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tc'NotLetBoundReason
= TyCon
2519619062615593737##
12430819196938459768##
$trModule
$tc'NotLetBoundReason2
0#
$tc'NotLetBoundReason1
$tc'NotTypeClosed :: TyCon
[GblId,
Caf=NoCafRefs,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tc'NotTypeClosed
= TyCon
3281598640578852916##
18443468286277206654##
$trModule
$tc'NotTypeClosed2
0#
$tc'NotTypeClosed1
$tc'NotClosed :: TyCon
[GblId,
Caf=NoCafRefs,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
$tc'NotClosed
= TyCon
15836835692011093564##
11913503429636852498##
$trModule
$tc'NotClosed2
0#
$tc'NotClosed1
a#58_r1b18 :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a#58_r1b18
= "Record update is ambiguous, and requires a type signature"#
d52_r1b19 :: Doc
[GblId]
d52_r1b19
= case {__pkg_ccall ghc-8.9.0.20190617 Addr#
-> State# RealWorld -> (# State# RealWorld, Int# #)}_a10ir
a#58_r1b18 realWorld#
of
{ (# ds_a10iu, ds1_a10iv #) ->
TextBeside (LStr a#58_r1b18 ds1_a10iv) ds1_a10iv Empty
}
badOverloadedUpdate_r1b1a :: SDocContext -> Doc
[GblId, Arity=1, Str=<L,A>, Unf=OtherCon []]
badOverloadedUpdate_r1b1a = \ _ [Occ=Dead] -> d52_r1b19
isArgPar_maybe_rpGI
:: forall a b c d. HsArg a b -> Maybe (HsArg c d)
[GblId, Arity=1, Caf=NoCafRefs, Str=<S,1*U>, Unf=OtherCon []]
isArgPar_maybe_rpGI
= \ (@ a_aBzz)
(@ b_aBzA)
(@ c_aBzB)
(@ d_aBzC)
(ds_dJrs :: HsArg a_aBzz b_aBzA) ->
case ds_dJrs of {
__DEFAULT -> Nothing @ (HsArg c_aBzB d_aBzC);
HsArgPar sp_atFA ->
Just @ (HsArg c_aBzB d_aBzC) (HsArgPar @ c_aBzB @ d_aBzC sp_atFA)
}
isArgPar_rpGH :: forall tm ty. HsArg tm ty -> Bool
[GblId, Arity=1, Caf=NoCafRefs, Str=<S,1*U>, Unf=OtherCon []]
isArgPar_rpGH
= \ (@ tm_aBzK) (@ ty_aBzL) (ds_dJrE :: HsArg tm_aBzK ty_aBzL) ->
case ds_dJrE of {
__DEFAULT -> False;
HsArgPar ds1_dJrR -> True
}
isHsValArg_rpGG :: forall tm ty. HsArg tm ty -> Bool
[GblId, Arity=1, Caf=NoCafRefs, Str=<S,1*U>, Unf=OtherCon []]
isHsValArg_rpGG
= \ (@ tm_aBzN) (@ ty_aBzO) (ds_dJrV :: HsArg tm_aBzN ty_aBzO) ->
case ds_dJrV of {
HsValArg ds1_dJs8 -> True;
HsTypeArg ds1_dJs9 ds2_dJsa -> False;
HsArgPar ds1_dJsb -> False
}
Rec {
$sppr_mono_ty3 :: Outputable (GenLocated SrcSpan (HsType GhcRn))
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=True,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 30 0}]
$sppr_mono_ty3
= $fOutputableGenLocated
@ SrcSpan @ (HsType GhcRn) $fOutputableSrcSpan $sppr_mono_ty4
$sppr_mono_ty2 :: Outputable (LHsSigType GhcRn)
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=True,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 30 0}]
$sppr_mono_ty2
= $fOutputableHsImplicitBndrs
@ (GhcPass 'Renamed)
@ 'Renamed
@ (GenLocated SrcSpan (HsType GhcRn))
$spprMatches4
$sppr_mono_ty3
$d(%,,%)_r1b1b
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
[GblId, Str=m, Unf=OtherCon []]
$d(%,,%)_r1b1b
= ($fOutputableNoExt, $sppr_mono_ty2, $sppr_mono_ty2)
$d(%,,,,,,%)_r1b1c
:: (OutputableBndr Name, OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
[GblId, Str=m, Unf=OtherCon []]
$d(%,,,,,,%)_r1b1c
= ($fOutputableBndrName, $fOutputableBndrName,
$fOutputableBndrName, $fOutputableBndrName, $spprMatches4,
$d(%,,%)_r1b1b, $d(%,,%)_r1b1b)
$sppr_mono_ty4 [Occ=LoopBreaker] :: Outputable (HsType GhcRn)
[GblId]
$sppr_mono_ty4
= $fOutputableHsType
@ (GhcPass 'Renamed)
@ 'Renamed
$spprMatches4
($d(%,,,,,,%)_r1b1c
`cast` (((%,,,,,,%)
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_N
(OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_N
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_N
(OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
((~)
<*>_N
((GhcPass
(Sym (D:R:NoGhcTcPass[1] <'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N))
((GhcPass
(Sym (D:R:NoGhcTcPass[1] <'Renamed>_N)))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N)))_N
((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N
((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N)_R
:: (OutputableBndr Name, OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
~R# (OutputableBndr (NameOrRdrName (IdP GhcRn)),
OutputableBndr (IdP GhcRn),
OutputableBndr (NameOrRdrName (IdP (NoGhcTc (GhcPass 'Renamed)))),
OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed))),
NoGhcTc (GhcPass 'Renamed) ~ NoGhcTc (NoGhcTc (GhcPass 'Renamed)),
(Outputable (XIPBinds GhcRn), Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn)),
(Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn)))))
end Rec }
$d~_r1b1d :: NoExt ~ NoExt
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
$d~_r1b1d
= Eq# @ * @ NoExt @ NoExt @~ (<NoExt>_N :: NoExt ~# NoExt)
lvl132_r1b1e
:: Rational
-> AmbiguousFieldOcc (GhcPass 'Renamed) -> SDocContext -> Doc
[GblId, Arity=2, Str=<L,A><L,1*U>, Unf=OtherCon []]
lvl132_r1b1e
= \ _ [Occ=Dead]
(eta1_XY7m :: AmbiguousFieldOcc (GhcPass 'Renamed)) ->
$fOutputableBndrRdrName1
(rdrNameAmbiguousFieldOcc @ 'Renamed eta1_XY7m)
lvl133_r1b1f
:: AmbiguousFieldOcc (GhcPass 'Renamed) -> SDocContext -> Doc
[GblId, Arity=1, Str=<L,1*U>, Unf=OtherCon []]
lvl133_r1b1f
= \ (eta_XXT1 :: AmbiguousFieldOcc (GhcPass 'Renamed)) ->
$fOutputableBndrRdrName1
(rdrNameAmbiguousFieldOcc @ 'Renamed eta_XXT1)
$s$fOutputableAmbiguousFieldOcc [InlPrag=NOUSERINLINE CONLIKE]
:: Outputable (AmbiguousFieldOcc (GhcPass 'Renamed))
[GblId,
Str=m,
Unf=DFun: \ ->
C:Outputable TYPE: AmbiguousFieldOcc (GhcPass 'Renamed)
(\ (eta_XXTa [Occ=Once] :: AmbiguousFieldOcc (GhcPass 'Renamed)) ->
$fOutputableBndrRdrName1
(rdrNameAmbiguousFieldOcc @ 'Renamed eta_XXTa))
`cast` (<AmbiguousFieldOcc (GhcPass 'Renamed)>_R
->_R Sym (N:SDoc[0])
:: (AmbiguousFieldOcc (GhcPass 'Renamed) -> SDocContext -> Doc)
~R# (AmbiguousFieldOcc (GhcPass 'Renamed) -> SDoc))
(\ _ [Occ=Dead]
(eta1_XXT6 [Occ=Once] :: AmbiguousFieldOcc (GhcPass 'Renamed)) ->
$fOutputableBndrRdrName1
(rdrNameAmbiguousFieldOcc @ 'Renamed eta1_XXT6))
`cast` (<Rational>_R
->_R <AmbiguousFieldOcc (GhcPass 'Renamed)>_R
->_R Sym (N:SDoc[0])
:: (Rational
-> AmbiguousFieldOcc (GhcPass 'Renamed) -> SDocContext -> Doc)
~R# (Rational -> AmbiguousFieldOcc (GhcPass 'Renamed) -> SDoc))]
$s$fOutputableAmbiguousFieldOcc
= C:Outputable
@ (AmbiguousFieldOcc (GhcPass 'Renamed))
(lvl133_r1b1f
`cast` (<AmbiguousFieldOcc (GhcPass 'Renamed)>_R
->_R Sym (N:SDoc[0])
:: (AmbiguousFieldOcc (GhcPass 'Renamed) -> SDocContext -> Doc)
~R# (AmbiguousFieldOcc (GhcPass 'Renamed) -> SDoc)))
(lvl132_r1b1e
`cast` (<Rational>_R
->_R <AmbiguousFieldOcc (GhcPass 'Renamed)>_R
->_R Sym (N:SDoc[0])
:: (Rational
-> AmbiguousFieldOcc (GhcPass 'Renamed) -> SDocContext -> Doc)
~R# (Rational -> AmbiguousFieldOcc (GhcPass 'Renamed) -> SDoc)))
lvl134_r1b1g
:: GenLocated SrcSpan (HsRecUpdField GhcRn) -> SDocContext -> Doc
[GblId, Arity=1, Str=<L,1*U(A,1*U(1*U(U,U),A,A))>, Unf=OtherCon []]
lvl134_r1b1g
= \ (x_aDcr :: GenLocated SrcSpan (HsRecUpdField GhcRn)) ->
pprQuotedList2
(case x_aDcr
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField'
(AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)>_N))))_R
:: GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)))))
of
{ L ds1_aDdY e_aDdZ ->
case e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)))
~R# HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))
of
{ HsRecField ds2_aDdP ds3_aDdQ ds4_aDdR ->
case ds2_aDdP of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (AmbiguousFieldOcc GhcRn)
$fOutputableSrcSpan
$s$fOutputableAmbiguousFieldOcc
ww1_aTSp
ww2_aTSq
}
}
})
Rec {
$spprMatches3 :: Outputable (GenLocated SrcSpan (HsType GhcRn))
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=True,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 30 0}]
$spprMatches3
= $fOutputableGenLocated
@ SrcSpan
@ (HsType GhcRn)
$fOutputableSrcSpan
$s$fOutputableGenLocated_$cppr2
$spprMatches2 :: Outputable (LHsSigType GhcRn)
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=True,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 30 0}]
$spprMatches2
= $fOutputableHsImplicitBndrs
@ (GhcPass 'Renamed)
@ 'Renamed
@ (GenLocated SrcSpan (HsType GhcRn))
$spprMatches4
$spprMatches3
$spprMatches1
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
[GblId,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
$spprMatches1 = ($fOutputableNoExt, $spprMatches2, $spprMatches2)
$d(%,,,,,,%)1_r1b1h
:: (OutputableBndr Name, OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
[GblId, Str=m, Unf=OtherCon []]
$d(%,,,,,,%)1_r1b1h
= ($fOutputableBndrName, $fOutputableBndrName,
$fOutputableBndrName, $fOutputableBndrName, $spprMatches4,
$spprMatches1, $spprMatches1)
$s$fOutputableGenLocated_$cppr2 [Occ=LoopBreaker]
:: Outputable (HsType GhcRn)
[GblId]
$s$fOutputableGenLocated_$cppr2
= $fOutputableHsType
@ (GhcPass 'Renamed)
@ 'Renamed
$spprMatches4
($d(%,,,,,,%)1_r1b1h
`cast` (((%,,,,,,%)
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_N
(OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_N
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_N
(OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
((~)
<*>_N
((GhcPass
(Sym (D:R:NoGhcTcPass[1] <'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N))
((GhcPass
(Sym (D:R:NoGhcTcPass[1] <'Renamed>_N)))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N)))_N
((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N
((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N)_R
:: (OutputableBndr Name, OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
~R# (OutputableBndr (NameOrRdrName (IdP GhcRn)),
OutputableBndr (IdP GhcRn),
OutputableBndr (NameOrRdrName (IdP (NoGhcTc (GhcPass 'Renamed)))),
OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed))),
NoGhcTc (GhcPass 'Renamed) ~ NoGhcTc (NoGhcTc (GhcPass 'Renamed)),
(Outputable (XIPBinds GhcRn), Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn)),
(Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn)))))
end Rec }
$sppr_mono_ty5
:: (Outputable (XIPBinds (GhcPass 'Renamed)),
Outputable (XViaStrategy (GhcPass 'Renamed)),
Outputable (LHsSigType GhcRn))
[GblId,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
$sppr_mono_ty5
= ($fOutputableNoExt
`cast` ((Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_R
:: Outputable NoExt ~R# Outputable (XIPBinds GhcRn)),
$spprMatches2
`cast` ((Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_R
:: Outputable (LHsSigType GhcRn)
~R# Outputable (XViaStrategy GhcRn)),
$sppr_mono_ty2)
$sppr_mono_ty1
:: (Outputable (XIPBinds (GhcPass (NoGhcTcPass 'Renamed))),
Outputable (XViaStrategy (GhcPass (NoGhcTcPass 'Renamed))),
Outputable (LHsSigType GhcRn))
[GblId,
Str=m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
$sppr_mono_ty1
= ($fOutputableNoExt
`cast` ((Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
(GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N)_N))_R
:: Outputable NoExt
~R# Outputable (XIPBinds (GhcPass (NoGhcTcPass 'Renamed)))),
$spprMatches2
`cast` ((Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
(GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N)_N))_R
:: Outputable (LHsSigType GhcRn)
~R# Outputable (XViaStrategy (GhcPass (NoGhcTcPass 'Renamed)))),
$sppr_mono_ty2)
lvl135_r1b1i
:: HsArg
(LHsExpr GhcRn)
(HsWildCardBndrs
GhcRn (GenLocated SrcSpan (HsType (GhcPass 'Renamed))))
-> SDoc
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
lvl135_r1b1i
= \ (ds_dHyh
:: HsArg
(LHsExpr GhcRn)
(HsWildCardBndrs
GhcRn (GenLocated SrcSpan (HsType (GhcPass 'Renamed))))) ->
case ds_dHyh of {
HsValArg e_atMn ->
case e_atMn of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
ww1_aTSp
ww2_aTSq
};
HsTypeArg ds1_dHzl ds2_dHzm ->
case ds2_dHzm of {
HsWC ds3_dHzn ds4_dHzo ->
case ds4_dHzo of { L ds5_dHzp t_atMo ->
$wppr_mono_ty
@ 'Renamed
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (NameOrRdrName (IdP GhcRn))))
($fOutputableBndrName
`cast` ((OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_R
:: OutputableBndr Name ~R# OutputableBndr (IdP GhcRn)))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_R
:: OutputableBndr Name
~R# OutputableBndr
(NameOrRdrName (IdP (NoGhcTc (GhcPass 'Renamed))))))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed)))))
@~ (D:R:NoGhcTc[0] <'Renamed>_N ; ((GhcPass
(D:R:NoGhcTcPass[1]
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N) ; (NoGhcTcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N)))_N ; (Sym (D:R:NoGhcTc[0]
<NoGhcTcPass
'Renamed>_N) ; (NoGhcTc
(Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))
:: NoGhcTc (GhcPass 'Renamed)
~# NoGhcTc (NoGhcTc (GhcPass 'Renamed)))
($sppr_mono_ty5
`cast` (((%,,%)
<Outputable (XIPBinds (GhcPass 'Renamed))>_N
<Outputable (XViaStrategy (GhcPass 'Renamed))>_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable (XIPBinds (GhcPass 'Renamed)),
Outputable (XViaStrategy (GhcPass 'Renamed)),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds (GhcPass 'Renamed)),
Outputable (XViaStrategy (GhcPass 'Renamed)),
Outputable (XViaStrategy GhcRn))))
($sppr_mono_ty1
`cast` (((%,,%)
(Outputable (XIPBinds (Sym (D:R:NoGhcTc[0] <'Renamed>_N)))_N)_N
(Outputable (XViaStrategy (Sym (D:R:NoGhcTc[0] <'Renamed>_N)))_N)_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable (XIPBinds (GhcPass (NoGhcTcPass 'Renamed))),
Outputable (XViaStrategy (GhcPass (NoGhcTcPass 'Renamed))),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn))))
t_atMo
};
XHsWildCardBndrs ds3_dHzq -> lvl38_r1aXH
};
HsArgPar ds1_dHzr ->
empty1 `cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
}
$dOutputable_r1b1j :: Outputable (LHsWcType GhcRn)
[GblId]
$dOutputable_r1b1j
= $fOutputableHsWildCardBndrs
@ (GhcPass 'Renamed)
@ 'Renamed
@ (GenLocated SrcSpan (HsType GhcRn))
$spprMatches4
$spprMatches3
$d~1_r1b1k :: SourceText ~ SourceText
[GblId, Caf=NoCafRefs, Str=m, Unf=OtherCon []]
$d~1_r1b1k
= Eq#
@ *
@ SourceText
@ SourceText
@~ (<SourceText>_N :: SourceText ~# SourceText)
$d(%,,,,,,,,,,,,,%)_r1b1l
:: (NoExt ~ NoExt, NoExt ~ NoExt, NoExt ~ NoExt,
SourceText ~ SourceText, SourceText ~ SourceText,
SourceText ~ SourceText, SourceText ~ SourceText,
SourceText ~ SourceText, NoExt ~ NoExt, SourceText ~ SourceText,
SourceText ~ SourceText, SourceText ~ SourceText,
SourceText ~ SourceText, NoExt ~ NoExt)
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
$d(%,,,,,,,,,,,,,%)_r1b1l
= ($d~_r1b1d, $d~_r1b1d, $d~_r1b1d, $d~1_r1b1k, $d~1_r1b1k,
$d~1_r1b1k, $d~1_r1b1k, $d~1_r1b1k, $d~_r1b1d, $d~1_r1b1k,
$d~1_r1b1k, $d~1_r1b1k, $d~1_r1b1k, $d~_r1b1d)
Rec {
$w$sgo3 [InlPrag=NOUSERINLINE[2], Occ=LoopBreaker]
:: FieldLabelString
-> Int#
-> Addr#
-> ForeignPtrContents
-> Int#
-> Int#
-> Set FieldLabelString
-> Set FieldLabelString
[GblId,
Arity=7,
Str=<L,U><L,U><L,U><L,U><L,U><L,U><S,1*U>,
Unf=OtherCon []]
$w$sgo3
= \ (w_s16AE :: FieldLabelString)
(ww_s16AJ :: Int#)
(ww1_s16AL :: Addr#)
(ww2_s16AM :: ForeignPtrContents)
(ww3_s16AN :: Int#)
(ww4_s16AO :: Int#)
(w1_s16AG :: Set FieldLabelString) ->
case w1_s16AG of wild_aXyn {
Bin dt_aXyp y_aXyq l_aXyr r_aXys ->
case y_aXyq of ww8_s19c4
{ FastString ww9_s19c5 ww10_s19c6 ww11_s19c7 ww12_s19c8 ww13_s19c9
ww14_s19ca ww15_s19cb ->
join {
$j_sXWp [Dmd=<L,1*U>] :: Set FieldLabelString
[LclId[JoinId(0)]]
$j_sXWp
= case lazy @ FieldLabelString w_s16AE of wild2_aXyC
{ FastString ipv_sXWd ipv1_sXWe ipv2_sXWf ipv3_sXWg ipv4_sXWh
ipv5_sXWi ipv6_sXWj ->
case reallyUnsafePtrEquality# @ FieldLabelString w_s16AE ww8_s19c4
of {
__DEFAULT ->
Bin @ FieldLabelString dt_aXyp wild2_aXyC l_aXyr r_aXys;
1# -> wild_aXyn
}
} } in
case ==# ww_s16AJ ww9_s19c5 of {
__DEFAULT ->
case $wcompareBytes
ww1_s16AL
ww2_s16AM
ww3_s16AN
ww4_s16AO
ww11_s19c7
ww12_s19c8
ww13_s19c9
ww14_s19ca
of {
LT ->
case $w$sgo3
w_s16AE ww_s16AJ ww1_s16AL ww2_s16AM ww3_s16AN ww4_s16AO l_aXyr
of l'_aXyx
{ __DEFAULT ->
case reallyUnsafePtrEquality#
@ (Set FieldLabelString) l'_aXyx l_aXyr
of {
__DEFAULT -> balanceL @ FieldLabelString ww8_s19c4 l'_aXyx r_aXys;
1# -> wild_aXyn
}
};
EQ -> jump $j_sXWp;
GT ->
case $w$sgo3
w_s16AE ww_s16AJ ww1_s16AL ww2_s16AM ww3_s16AN ww4_s16AO r_aXys
of r'_aXyG
{ __DEFAULT ->
case reallyUnsafePtrEquality#
@ (Set FieldLabelString) r'_aXyG r_aXys
of {
__DEFAULT -> balanceR @ FieldLabelString ww8_s19c4 l_aXyr r'_aXyG;
1# -> wild_aXyn
}
}
};
1# -> jump $j_sXWp
}
};
Tip ->
case lazy @ FieldLabelString w_s16AE of dt_XDBN
{ FastString ipv_s12sb ipv1_s12sc ipv2_s12sd ipv3_s12se ipv4_s12sf
ipv5_s12sg ipv6_s12sh ->
Bin
@ FieldLabelString
1#
dt_XDBN
(Tip @ FieldLabelString)
(Tip @ FieldLabelString)
}
}
end Rec }
Rec {
$wcreate_r1b1m
:: Int#
-> [FieldLabelString]
-> (# Set FieldLabelString, [FieldLabelString],
[FieldLabelString] #)
[GblId, Arity=2, Str=<L,1*U><S,1*U>, Unf=OtherCon []]
$wcreate_r1b1m
= \ (ww_s16AW :: Int#) (w_s16AT :: [FieldLabelString]) ->
case w_s16AT of wild6_aDZV {
[] ->
(# Tip @ FieldLabelString, [] @ FieldLabelString,
[] @ FieldLabelString #);
: ipv8_aDZZ ipv9_aE00 ->
case ww_s16AW of wild_XdY {
__DEFAULT ->
case $wcreate_r1b1m (uncheckedIShiftRA# wild_XdY 1#) wild6_aDZV of
{ (# ww2_s170c, ww3_s170d, ww4_s170e #) ->
case ww3_s170d of wild9_aE5V {
[] -> (# ww2_s170c, [] @ FieldLabelString, ww4_s170e #);
: y_aE5Z ds11_aE60 ->
case ds11_aE60 of wild10_aE62 {
[] ->
(# insertMax @ FieldLabelString y_aE5Z ww2_s170c,
[] @ FieldLabelString, ww4_s170e #);
: ipv10_aE66 ipv11_aE67 ->
case y_aE5Z of ww5_aXU6
{ FastString ww6_aXU8 ww7_aXU9 ww8_aXUa ww9_aXUb ww10_aXUc
ww11_aXUd ww12_aXUe ->
case ipv10_aE66 of
{ FastString ww14_aXUj ww15_aXUk ww16_aXUl ww17_aXUm ww18_aXUn
ww19_aXUo ww20_aXUp ->
case ==# ww6_aXU8 ww14_aXUj of {
__DEFAULT ->
case $wcompareBytes
ww8_aXUa
ww9_aXUb
ww10_aXUc
ww11_aXUd
ww16_aXUl
ww17_aXUm
ww18_aXUn
ww19_aXUo
of {
LT ->
case $wcreate_r1b1m (uncheckedIShiftRA# wild_XdY 1#) wild10_aE62 of
{ (# ww22_X17eA, ww23_X17eC, ww24_X17eE #) ->
(# link @ FieldLabelString ww5_aXU6 ww2_s170c ww22_X17eA,
ww23_X17eC, ww24_X17eE #)
};
EQ -> (# ww2_s170c, [] @ FieldLabelString, wild9_aE5V #);
GT -> (# ww2_s170c, [] @ FieldLabelString, wild9_aE5V #)
};
1# -> (# ww2_s170c, [] @ FieldLabelString, wild9_aE5V #)
}
}
}
}
}
};
1# ->
case ipv9_aE00 of wild8_aE6o {
[] ->
(# case ipv8_aDZZ of dt_XDBN
{ FastString ipv_s12sw ipv1_s12sx ipv2_s12sy ipv3_s12sz ipv4_s12sA
ipv5_s12sB ipv6_s12sC ->
Bin
@ FieldLabelString
1#
dt_XDBN
(Tip @ FieldLabelString)
(Tip @ FieldLabelString)
},
[] @ FieldLabelString, [] @ FieldLabelString #);
: y_aE6s ds8_aE6t ->
case ipv8_aDZZ of ww1_aXU6
{ FastString ww2_aXU8 ww3_aXU9 ww4_aXUa ww5_aXUb ww6_aXUc ww7_aXUd
ww8_aXUe ->
case y_aE6s of
{ FastString ww10_aXUj ww11_aXUk ww12_aXUl ww13_aXUm ww14_aXUn
ww15_aXUo ww16_aXUp ->
case ==# ww2_aXU8 ww10_aXUj of {
__DEFAULT ->
case $wcompareBytes
ww4_aXUa
ww5_aXUb
ww6_aXUc
ww7_aXUd
ww12_aXUl
ww13_aXUm
ww14_aXUn
ww15_aXUo
of {
LT ->
(# Bin
@ FieldLabelString
1#
ww1_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString),
wild8_aE6o, [] @ FieldLabelString #);
EQ ->
(# Bin
@ FieldLabelString
1#
ww1_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString),
[] @ FieldLabelString, wild8_aE6o #);
GT ->
(# Bin
@ FieldLabelString
1#
ww1_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString),
[] @ FieldLabelString, wild8_aE6o #)
};
1# ->
(# Bin
@ FieldLabelString
1#
ww1_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString),
[] @ FieldLabelString, wild8_aE6o #)
}
}
}
}
}
}
end Rec }
Rec {
go3_r1b1n
:: [FieldLabelString]
-> Set FieldLabelString -> Set FieldLabelString
[GblId, Arity=2, Str=<S,1*U><S,1*U>, Unf=OtherCon []]
go3_r1b1n
= \ (ds_aSw4 :: [FieldLabelString])
(eta_B1 :: Set FieldLabelString) ->
case ds_aSw4 of {
[] -> eta_B1;
: y_aSw9 ys_aSwa ->
case y_aSw9 of ww_s16AI
{ FastString ww1_s16AJ ww2_s16AK ww3_s16AL ww4_s16AM ww5_s16AN
ww6_s16AO ww7_s16AP ->
go3_r1b1n
ys_aSwa
($w$sgo3
ww_s16AI ww1_s16AJ ww3_s16AL ww4_s16AM ww5_s16AN ww6_s16AO eta_B1)
}
}
end Rec }
Rec {
go4_r1b1o
:: [FieldLabelString]
-> Set FieldLabelString -> Set FieldLabelString
[GblId, Arity=2, Str=<S,1*U><S,1*U>, Unf=OtherCon []]
go4_r1b1o
= \ (ds_aSw4 :: [FieldLabelString])
(eta_B1 :: Set FieldLabelString) ->
case ds_aSw4 of {
[] -> eta_B1;
: y_aSw9 ys_aSwa ->
case y_aSw9 of ww_s16AI
{ FastString ww1_s16AJ ww2_s16AK ww3_s16AL ww4_s16AM ww5_s16AN
ww6_s16AO ww7_s16AP ->
go4_r1b1o
ys_aSwa
($w$sgo3
ww_s16AI ww1_s16AJ ww3_s16AL ww4_s16AM ww5_s16AN ww6_s16AO eta_B1)
}
}
end Rec }
Rec {
go5_r1b1p
:: [FieldLabelString]
-> Set FieldLabelString -> Set FieldLabelString
[GblId, Arity=2, Str=<S,1*U><S,1*U>, Unf=OtherCon []]
go5_r1b1p
= \ (ds_aSw4 :: [FieldLabelString])
(eta_B1 :: Set FieldLabelString) ->
case ds_aSw4 of {
[] -> eta_B1;
: y_aSw9 ys_aSwa ->
case y_aSw9 of ww_s16AI
{ FastString ww1_s16AJ ww2_s16AK ww3_s16AL ww4_s16AM ww5_s16AN
ww6_s16AO ww7_s16AP ->
go5_r1b1p
ys_aSwa
($w$sgo3
ww_s16AI ww1_s16AJ ww3_s16AL ww4_s16AM ww5_s16AN ww6_s16AO eta_B1)
}
}
end Rec }
Rec {
go6_r1b1q
:: [FieldLabelString]
-> Set FieldLabelString -> Set FieldLabelString
[GblId, Arity=2, Str=<S,1*U><S,1*U>, Unf=OtherCon []]
go6_r1b1q
= \ (ds_aSw4 :: [FieldLabelString])
(eta_B1 :: Set FieldLabelString) ->
case ds_aSw4 of {
[] -> eta_B1;
: y_aSw9 ys_aSwa ->
case y_aSw9 of ww_s16AI
{ FastString ww1_s16AJ ww2_s16AK ww3_s16AL ww4_s16AM ww5_s16AN
ww6_s16AO ww7_s16AP ->
go6_r1b1q
ys_aSwa
($w$sgo3
ww_s16AI ww1_s16AJ ww3_s16AL ww4_s16AM ww5_s16AN ww6_s16AO eta_B1)
}
}
end Rec }
Rec {
$wgo3 [InlPrag=NOUSERINLINE[2], Occ=LoopBreaker]
:: Int#
-> Set FieldLabelString
-> [FieldLabelString]
-> Set FieldLabelString
[GblId, Arity=3, Str=<L,U><S,1*U><S,1*U>, Unf=OtherCon []]
$wgo3
= \ (ww_s16Bf :: Int#)
(w_s16Bb :: Set FieldLabelString)
(w1_s16Bc :: [FieldLabelString]) ->
case w1_s16Bc of wild3_aDZw {
[] -> w_s16Bb;
: ipv3_aDZA ipv4_aDZB ->
case ipv4_aDZB of wild4_aDZD {
[] -> insertMax @ FieldLabelString ipv3_aDZA w_s16Bb;
: ipv5_aDZI ipv6_aDZJ ->
case ipv3_aDZA of ww1_aXU6
{ FastString ww2_aXU8 ww3_aXU9 ww4_aXUa ww5_aXUb ww6_aXUc ww7_aXUd
ww8_aXUe ->
case ipv5_aDZI of
{ FastString ww10_aXUj ww11_aXUk ww12_aXUl ww13_aXUm ww14_aXUn
ww15_aXUo ww16_aXUp ->
case ==# ww2_aXU8 ww10_aXUj of {
__DEFAULT ->
case $wcompareBytes
ww4_aXUa
ww5_aXUb
ww6_aXUc
ww7_aXUd
ww12_aXUl
ww13_aXUm
ww14_aXUn
ww15_aXUo
of {
LT ->
case $wcreate_r1b1m ww_s16Bf wild4_aDZD of
{ (# ww18_s170c, ww19_s170d, ww20_s170e #) ->
case ww20_s170e of wild7_aE6G {
[] ->
$wgo3
(uncheckedIShiftL# ww_s16Bf 1#)
(link @ FieldLabelString ww1_aXU6 w_s16Bb ww18_s170c)
ww19_s170d;
: ipv7_aE6N ipv8_aE6O ->
go6_r1b1q
wild7_aE6G (link @ FieldLabelString ww1_aXU6 w_s16Bb ww18_s170c)
}
};
EQ -> go5_r1b1p wild3_aDZw w_s16Bb;
GT -> go4_r1b1o wild3_aDZw w_s16Bb
};
1# -> go3_r1b1n wild3_aDZw w_s16Bb
}
}
}
}
}
end Rec }
Rec {
$sfromList_go [Occ=LoopBreaker]
:: [FieldLabelString]
-> Set FieldLabelString -> Set FieldLabelString
[GblId, Arity=2, Str=<S,1*U><S,1*U>, Unf=OtherCon []]
$sfromList_go
= \ (ds_aSw4 :: [FieldLabelString])
(eta_B1 :: Set FieldLabelString) ->
case ds_aSw4 of {
[] -> eta_B1;
: y_aSw9 ys_aSwa ->
case y_aSw9 of ww_s16AI
{ FastString ww1_s16AJ ww2_s16AK ww3_s16AL ww4_s16AM ww5_s16AN
ww6_s16AO ww7_s16AP ->
$sfromList_go
ys_aSwa
($w$sgo3
ww_s16AI ww1_s16AJ ww3_s16AL ww4_s16AM ww5_s16AN ww6_s16AO eta_B1)
}
}
end Rec }
$sfromList :: [FieldLabelString] -> Set FieldLabelString
[GblId,
Arity=1,
Str=<S,1*U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 391 60}]
$sfromList
= \ (ds_aDZ7 :: [FieldLabelString]) ->
case ds_aDZ7 of {
[] -> Tip @ FieldLabelString;
: x_aDZb ds1_aDZc ->
case ds1_aDZc of wild1_aDZe {
[] ->
case x_aDZb of dt_XDBN
{ FastString ipv_s12t5 ipv1_s12t6 ipv2_s12t7 ipv3_s12t8 ipv4_s12t9
ipv5_s12ta ipv6_s12tb ->
Bin
@ FieldLabelString
1#
dt_XDBN
(Tip @ FieldLabelString)
(Tip @ FieldLabelString)
};
: ipv_aDZi ipv1_aDZj ->
case x_aDZb of ww_aXU6
{ FastString ww1_aXU8 ww2_aXU9 ww3_aXUa ww4_aXUb ww5_aXUc ww6_aXUd
ww7_aXUe ->
case ipv_aDZi of
{ FastString ww9_aXUj ww10_aXUk ww11_aXUl ww12_aXUm ww13_aXUn
ww14_aXUo ww15_aXUp ->
case ==# ww1_aXU8 ww9_aXUj of {
__DEFAULT ->
case $wcompareBytes
ww3_aXUa
ww4_aXUb
ww5_aXUc
ww6_aXUd
ww11_aXUl
ww12_aXUm
ww13_aXUn
ww14_aXUo
of {
LT ->
$wgo3
1#
(Bin
@ FieldLabelString
1#
ww_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString))
wild1_aDZe;
EQ ->
$sfromList_go
wild1_aDZe
(Bin
@ FieldLabelString
1#
ww_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString));
GT ->
$sfromList_go
wild1_aDZe
(Bin
@ FieldLabelString
1#
ww_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString))
};
1# ->
$sfromList_go
wild1_aDZe
(Bin
@ FieldLabelString
1#
ww_aXU6
(Tip @ FieldLabelString)
(Tip @ FieldLabelString))
}
}
}
}
}
lvl136_r1b1r :: ConLike -> Set FieldLabelString
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
lvl136_r1b1r
= \ (x_XDws :: ConLike) ->
case x_XDws of {
RealDataCon data_con_aE7j ->
case data_con_aE7j of
{ MkData ds1_aE7o ds2_aE7p ds3_aE7q ds4_aE7r ds5_aE7s ds6_aE7t
ds7_aE7u ds8_aE7v ds9_aE7w ds10_aE7x ds11_aE7y ds12_aE7z ds13_aE7A
ds14_aE7B ds15_aE7C ds16_aE7D ds17_aE7K ds18_aE7L ds19_aE7M
ds20_aE7N ds21_aE7O ds22_aE7P ->
$sfromList
(map @ (FieldLbl Name) @ FastString (flLabel @ Name) ds14_aE7B)
};
PatSynCon pat_syn_aE7S ->
case pat_syn_aE7S of
{ MkPatSyn ds1_aE7X ds2_aE7Y ds3_aE7Z ds4_aE80 ds5_aE81 ds6_aE82
ds7_aE83 ds8_aE84 ds9_aE85 ds10_aE86 ds11_aE87 ds12_aE88
ds13_aE89 ->
$sfromList
(map @ (FieldLbl Name) @ FastString (flLabel @ Name) ds6_aE82)
}
}
Rec {
$wgo1 [InlPrag=NOUSERINLINE[2], Occ=LoopBreaker]
:: Int#
-> Addr#
-> ForeignPtrContents
-> Int#
-> Int#
-> Set FieldLabelString
-> Bool
[GblId,
Arity=6,
Caf=NoCafRefs,
Str=<L,U><L,U><L,U><L,U><L,U><S,1*U>,
Unf=OtherCon []]
$wgo1
= \ (ww_s16Bq :: Int#)
(ww1_s16Bs :: Addr#)
(ww2_s16Bt :: ForeignPtrContents)
(ww3_s16Bu :: Int#)
(ww4_s16Bv :: Int#)
(w_s16Bn :: Set FieldLabelString) ->
case w_s16Bn of {
Bin ipv_aDBM ipv1_aDBN ipv2_aDBO ipv3_aDBP ->
case ipv1_aDBN of
{ FastString ww9_s19co ww10_s19cp ww11_s19cq ww12_s19cr ww13_s19cs
ww14_s19ct ww15_s19cu ->
case ==# ww_s16Bq ww9_s19co of {
__DEFAULT ->
case $wcompareBytes
ww1_s16Bs
ww2_s16Bt
ww3_s16Bu
ww4_s16Bv
ww11_s19cq
ww12_s19cr
ww13_s19cs
ww14_s19ct
of {
LT ->
$wgo1 ww_s16Bq ww1_s16Bs ww2_s16Bt ww3_s16Bu ww4_s16Bv ipv2_aDBO;
EQ -> True;
GT ->
$wgo1 ww_s16Bq ww1_s16Bs ww2_s16Bt ww3_s16Bu ww4_s16Bv ipv3_aDBP
};
1# -> True
}
};
Tip -> False
}
end Rec }
$smember_go3 [InlPrag=NOUSERINLINE[2]]
:: FieldLabelString -> Set FieldLabelString -> Bool
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U(U,A,U,U,U,U,A)><S,1*U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Tmpl= \ (w_s16Bm [Occ=Once!] :: FieldLabelString)
(w1_s16Bn [Occ=Once] :: Set FieldLabelString) ->
case w_s16Bm of
{ FastString ww1_s16Bq [Occ=Once] _ [Occ=Dead] ww3_s16Bs [Occ=Once]
ww4_s16Bt [Occ=Once] ww5_s16Bu [Occ=Once] ww6_s16Bv [Occ=Once]
_ [Occ=Dead] ->
$wgo1 ww1_s16Bq ww3_s16Bs ww4_s16Bt ww5_s16Bu ww6_s16Bv w1_s16Bn
}}]
$smember_go3
= \ (w_s16Bm :: FieldLabelString)
(w1_s16Bn :: Set FieldLabelString) ->
case w_s16Bm of
{ FastString ww1_s16Bq ww2_s16Br ww3_s16Bs ww4_s16Bt ww5_s16Bu
ww6_s16Bv ww7_s16Bw ->
$wgo1 ww1_s16Bq ww3_s16Bs ww4_s16Bt ww5_s16Bu ww6_s16Bv w1_s16Bn
}
$s$fOutputableGenLocated_$cppr4 [InlPrag=NOUSERINLINE[2]]
:: GenLocated SrcSpan (HsExpr GhcRn) -> SDoc
[GblId,
Arity=1,
Str=<S,1*U(U,U)>,
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= \ (w4_aTSj [Occ=Once!]
:: GenLocated SrcSpan (HsExpr GhcRn)) ->
case w4_aTSj of { L ww1_aTSp [Occ=Once] ww2_aTSq [Occ=Once] ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
ww1_aTSp
ww2_aTSq
}}]
$s$fOutputableGenLocated_$cppr4
= \ (w4_aTSj :: GenLocated SrcSpan (HsExpr GhcRn)) ->
case w4_aTSj of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
ww1_aTSp
ww2_aTSq
}
lvl137_r1b1t
:: Rational -> GenLocated SrcSpan (HsExpr GhcRn) -> SDoc
[GblId, Arity=2, Str=<L,A><S,1*U(U,U)>, Unf=OtherCon []]
lvl137_r1b1t
= \ _ [Occ=Dead] (eta_aSvj :: GenLocated SrcSpan (HsExpr GhcRn)) ->
case eta_aSvj of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
ww1_aTSp
ww2_aTSq
}
$s$fOutputableGenLocated [InlPrag=NOUSERINLINE CONLIKE]
:: Outputable (GenLocated SrcSpan (HsExpr GhcRn))
[GblId,
Str=m,
Unf=DFun: \ ->
C:Outputable TYPE: GenLocated SrcSpan (HsExpr GhcRn)
$fOutputableGenLocated_$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
\ _ [Occ=Dead]
(eta_aSvj [Occ=Once] :: GenLocated SrcSpan (HsExpr GhcRn)) ->
$fOutputableGenLocated_$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
eta_aSvj]
$s$fOutputableGenLocated
= C:Outputable
@ (GenLocated SrcSpan (HsExpr GhcRn))
$s$fOutputableGenLocated_$cppr4
lvl137_r1b1t
lvl138_r1b1u
:: HsArg
(GenLocated SrcSpan (HsExpr GhcRn))
(HsWildCardBndrs GhcRn (LHsType GhcRn))
-> SDoc
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
lvl138_r1b1u
= $fOutputableHsArg_$cppr
@ (GenLocated SrcSpan (HsExpr GhcRn))
@ (HsWildCardBndrs GhcRn (LHsType GhcRn))
$s$fOutputableGenLocated
$dOutputable_r1b1j
lvl139_r1b1v :: (TyVar, TyVar)
[GblId, Str=b]
lvl139_r1b1v = patError @ 'LiftedRep @ (TyVar, TyVar) lvl24_r1aXa
Rec {
$wgo8_r1b1w
:: Int# -> [HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)] -> Int
[GblId, Arity=2, Caf=NoCafRefs, Str=<L,U><S,1*U>m, Unf=OtherCon []]
$wgo8_r1b1w
= \ (ww_aE8o :: Int#)
(w2_aE8p :: [HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)]) ->
case w2_aE8p of {
[] -> I# ww_aE8o;
: x_aE8u xs_aE8v ->
case x_aE8u of {
HsValArg ds_dJs8 -> $wgo8_r1b1w (+# ww_aE8o 1#) xs_aE8v;
HsTypeArg ds_dJs9 ds1_dJsa -> $wgo8_r1b1w ww_aE8o xs_aE8v;
HsArgPar ds_dJsb -> $wgo8_r1b1w ww_aE8o xs_aE8v
}
}
end Rec }
lvl140_r1b1x :: Doc
[GblId, Str=m8, Unf=OtherCon []]
lvl140_r1b1x = Above d6_r1aX4 False d7_r1aX6
lvl141_r1b1y :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl141_r1b1y = Beside d4_r1aX0 True d5_r1aX2
lvl142_r1b1z :: [SDoc]
[GblId, Str=m2, Unf=OtherCon []]
lvl142_r1b1z
= : @ SDoc
(lvl20_r1aWY
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
([] @ SDoc)
Rec {
$wgo_r1b1A
:: [LHsWcType GhcRn]
-> SrcSpan -> HsExpr (GhcPass 'Renamed) -> SDoc
[GblId, Arity=3, Str=<S,1*U><L,U><L,U>, Unf=OtherCon []]
$wgo_r1b1A
= \ (w_s16Vs :: [LHsWcType GhcRn])
(ww_s16Vw :: SrcSpan)
(ww1_s16Vx :: HsExpr (GhcPass 'Renamed)) ->
case w_s16Vs of {
[] ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
ww_s16Vw
ww1_s16Vx;
: y_aSw9 ys_aSwa ->
case $w$smkHsAppType
(L @ SrcSpan @ (HsExpr (GhcPass 'Renamed)) ww_s16Vw ww1_s16Vx)
y_aSw9
of
{ (# ww3_aVYv, ww4_aVYw #) ->
$wgo_r1b1A
ys_aSwa
ww3_aVYv
(ww4_aVYw
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr (GhcPass 'Renamed)>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr (GhcPass 'Renamed)))
~R# HsExpr (GhcPass 'Renamed)))
}
}
end Rec }
Rec {
go7_r1b1B
:: [HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)] -> [LHsWcType GhcRn]
[GblId, Arity=1, Caf=NoCafRefs, Str=<S,1*U>, Unf=OtherCon []]
go7_r1b1B
= \ (ds_aSw4 :: [HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)]) ->
case ds_aSw4 of {
[] -> [] @ (LHsWcType GhcRn);
: y_aSw9 ys_aSwa ->
case y_aSw9 of {
__DEFAULT -> go7_r1b1B ys_aSwa;
HsTypeArg ds1_dJro hs_ty_atGM ->
: @ (LHsWcType GhcRn) hs_ty_atGM (go7_r1b1B ys_aSwa)
}
}
end Rec }
Rec {
$wgo2_r1b1C
:: Int# -> [HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)] -> Int
[GblId, Arity=2, Caf=NoCafRefs, Str=<L,U><S,1*U>m, Unf=OtherCon []]
$wgo2_r1b1C
= \ (ww_aE8o :: Int#)
(w2_aE8p :: [HsArg (LHsExpr GhcRn) (LHsWcType GhcRn)]) ->
case w2_aE8p of {
[] -> I# ww_aE8o;
: x_aE8u xs_aE8v ->
case x_aE8u of {
HsValArg ds_dJs8 -> $wgo2_r1b1C (+# ww_aE8o 1#) xs_aE8v;
HsTypeArg ds_dJs9 ds1_dJsa -> $wgo2_r1b1C ww_aE8o xs_aE8v;
HsArgPar ds_dJsb -> $wgo2_r1b1C ww_aE8o xs_aE8v
}
}
end Rec }
lvl143_r1b1D :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl143_r1b1D = Beside d38_r1aZX True d37_r1aZV
lvl144_r1b1E :: Doc
[GblId, Caf=NoCafRefs, Str=m7, Unf=OtherCon []]
lvl144_r1b1E = Beside $fOutputableIntMap2 False rbrack
lvl145_r1b1F :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl145_r1b1F = Beside d24_r1aZa True lvl144_r1b1E
Rec {
go8_r1b1G
:: [(LHsRecUpdField GhcRn, Name)]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
[LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)] #)
[GblId,
Arity=3,
Str=<S,1*U><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
go8_r1b1G
= \ (ds_aSw4 :: [(LHsRecUpdField GhcRn, Name)])
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case ds_aSw4 of {
[] ->
(# eta1_B1,
[] @ (LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)) #);
: y_aSw9 ys_aSwa ->
case lookupSelector_r1aYx y_aSw9 eta_B2 eta1_B1 of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case go8_r1b1G ys_aSwa eta_B2 ipv_aTz8 of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd,
: @ (LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn))
ipv1_aTz9
ipv3_aTze #)
}
}
}
end Rec }
lvl146_r1b1H :: Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
lvl146_r1b1H = "foldr1"#
lvl147_r1b1I :: [RecSelParent]
[GblId, Str=b]
lvl147_r1b1I
= errorEmptyList @ [RecSelParent] (unpackCString# lvl146_r1b1H)
Rec {
go9_r1b1J :: [[RecSelParent]] -> [RecSelParent]
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go9_r1b1J
= \ (ds_aVoP :: [[RecSelParent]]) ->
case ds_aVoP of {
[] -> lvl147_r1b1I;
: x_aVoU ds1_aVoV ->
case ds1_aVoV of wild1_aVoX {
[] -> x_aVoU;
: ipv_aVp1 ipv1_aVp2 ->
intersectBy
@ RecSelParent $fEqRecSelParent_$c== x_aVoU (go9_r1b1J wild1_aVoX)
}
}
end Rec }
Rec {
go10_r1b1K
:: [GlobalRdrElt]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #)
[GblId,
Arity=3,
Str=<S,1*U><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
go10_r1b1K
= \ (ds_XSN7 :: [GlobalRdrElt])
(eta_Xh6 :: Env TcGblEnv TcLclEnv)
(eta1_Xyb :: State# RealWorld) ->
case ds_XSN7 of {
[] -> (# eta1_Xyb, [] @ (RecSelParent, GlobalRdrElt) #);
: y_XSNh ys_XSNj ->
lvl122_r1b0k
y_XSNh
((go10_r1b1K ys_XSNj)
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[(RecSelParent, GlobalRdrElt)]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[(RecSelParent,
GlobalRdrElt)]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #))
~R# IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)]))
eta_Xh6
eta1_Xyb
}
end Rec }
Rec {
go11_r1b1L
:: [GlobalRdrElt]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #)
[GblId,
Arity=3,
Str=<S,1*U><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
go11_r1b1L
= \ (ds_XSNe :: [GlobalRdrElt])
(eta_Xhd :: Env TcGblEnv TcLclEnv)
(eta1_Xyp :: State# RealWorld) ->
case ds_XSNe of {
[] -> (# eta1_Xyp, [] @ (RecSelParent, GlobalRdrElt) #);
: y_XSNo ys_XSNq ->
lvl122_r1b0k
y_XSNo
((go11_r1b1L ys_XSNq)
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[(RecSelParent, GlobalRdrElt)]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[(RecSelParent,
GlobalRdrElt)]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #))
~R# IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)]))
eta_Xhd
eta1_Xyp
}
end Rec }
Rec {
go12_r1b1M
:: [GlobalRdrElt]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #)
[GblId,
Arity=3,
Str=<S,1*U><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
go12_r1b1M
= \ (ds_XSNe :: [GlobalRdrElt])
(eta_Xhd :: Env TcGblEnv TcLclEnv)
(eta1_Xyp :: State# RealWorld) ->
case ds_XSNe of {
[] -> (# eta1_Xyp, [] @ (RecSelParent, GlobalRdrElt) #);
: y_XSNo ys_XSNq ->
lvl122_r1b0k
y_XSNo
((go12_r1b1M ys_XSNq)
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[(RecSelParent, GlobalRdrElt)]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[(RecSelParent,
GlobalRdrElt)]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [(RecSelParent, GlobalRdrElt)] #))
~R# IOEnv (Env TcGblEnv TcLclEnv) [(RecSelParent, GlobalRdrElt)]))
eta_Xhd
eta1_Xyp
}
end Rec }
Rec {
go13_r1b1N
:: [LHsRecUpdField GhcRn]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [[(RecSelParent, GlobalRdrElt)]] #)
[GblId,
Arity=3,
Str=<S,1*U><L,1*U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U(U,U),U,U,U,U,U,U),U,U(U,U(U,U(U,U,U,U,U,U,U)),U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
go13_r1b1N
= \ (ds_aSw4 :: [LHsRecUpdField GhcRn])
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case ds_aSw4 of {
[] -> (# eta1_B1, [] @ [(RecSelParent, GlobalRdrElt)] #);
: y_aSw9 ys_aSwa ->
case eta_B2 of wild1_aSMs
{ Env ds1_aSMu dt_aSMv ds2_aSMw ds3_aSMx ->
case ds2_aSMw of
{ TcGblEnv ds4_aTiR ds5_aTiS ds6_aTiT ds7_aTj3 ds8_aTj4 ds9_aTj5
ds10_aTj7 ds11_aTj9 ds12_aTja ds13_aTjb ds14_aTjd ds15_aTje
ds16_aTji ds17_aTjj ds18_aTjn ds19_aTjp ds20_aTjq ds21_aTjr
ds22_aTjs ds23_aTjt ds24_aTju ds25_aTjw ds26_aTjx ds27_aTjy
ds28_aTjz ds29_aTjA ds30_aTjB ds31_aTjE ds32_aTjX ds33_aTjY
ds34_aTjZ ds35_aTk0 ds36_aTk6 ds37_aTke ds38_aTkf ds39_aTkg
ds40_aTkp ds41_aTkq ds42_aTkr ds43_aTks ds44_aTkt ds45_aTku
ds46_aTkv ds47_aTkw ds48_aTkx ds49_aTky ds50_aTkz ds51_aTkA
ds52_aTkC ds53_aTkJ ds54_aTkK ds55_aTkL ds56_aTkM ds57_aTkN
ds58_aTkO ds59_aTkP ->
case y_aSw9
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField'
(AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)>_N))))_R
:: GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)))))
of
{ L ds60_aDdY e_aDdZ ->
case e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)))
~R# HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))
of
{ HsRecField ds61_aEjO ds62_aEjP ds63_aEjQ ->
case ds61_aEjO of { L a1_aEjU a2_aEjV ->
case a2_aEjV of {
Unambiguous ds64_aDYJ ds65_aDYK ->
case ds65_aDYK of { L ds66_aDYO rdr_aDYP ->
case go12_r1b1M
(lookupGRE_RdrName rdr_aDYP ds7_aTj3) wild1_aSMs eta1_B1
of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case go13_r1b1N ys_aSwa wild1_aSMs ipv_aTz8 of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd,
: @ [(RecSelParent, GlobalRdrElt)] ipv1_aTz9 ipv3_aTze #)
}
}
};
Ambiguous ds64_aDYS ds65_aDYT ->
case ds65_aDYT of { L ds66_aDYX rdr_aDYY ->
case go11_r1b1L
(lookupGRE_RdrName rdr_aDYY ds7_aTj3) wild1_aSMs eta1_B1
of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case go13_r1b1N ys_aSwa wild1_aSMs ipv_aTz8 of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd,
: @ [(RecSelParent, GlobalRdrElt)] ipv1_aTz9 ipv3_aTze #)
}
}
};
XAmbiguousFieldOcc ds64_aDZ2 ->
case go10_r1b1K
(lookupGRE_RdrName rdrNameAmbiguousFieldOcc1 ds7_aTj3)
wild1_aSMs
eta1_B1
of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case go13_r1b1N ys_aSwa wild1_aSMs ipv_aTz8 of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd,
: @ [(RecSelParent, GlobalRdrElt)] ipv1_aTz9 ipv3_aTze #)
}
}
}
}
}
}
}
}
}
end Rec }
Rec {
go14_r1b1O
:: [IOEnv (Env TcGblEnv TcLclEnv) ()]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [()] #)
[GblId,
Arity=3,
Caf=NoCafRefs,
Str=<S,1*U><L,U><L,U>,
Unf=OtherCon []]
go14_r1b1O
= \ (ds_aSw4 :: [IOEnv (Env TcGblEnv TcLclEnv) ()])
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case ds_aSw4 of {
[] -> (# eta1_B1, [] @ () #);
: y_aSw9 ys_aSwa ->
case (((y_aSw9
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <()>_R
:: IOEnv (Env TcGblEnv TcLclEnv) ()
~R# (Env TcGblEnv TcLclEnv -> IO ())))
eta_B2)
`cast` (N:IO[0] <()>_R
:: IO () ~R# (State# RealWorld -> (# State# RealWorld, () #))))
eta1_B1
of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case go14_r1b1O ys_aSwa eta_B2 ipv_aTz8 of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd, : @ () ipv1_aTz9 ipv3_aTze #)
}
}
}
end Rec }
lvl148_r1b1P
:: State# RealWorld
-> Env TcGblEnv TcLclEnv
-> [TcRn ()]
-> (# State# RealWorld, HsExpr GhcTcId #)
[GblId, Arity=3, Str=<L,U><L,U><S,1*U>, Unf=OtherCon []]
lvl148_r1b1P
= \ (ipv_XSSH :: State# RealWorld)
(env_aSMj :: Env TcGblEnv TcLclEnv)
(wild_aSK1 :: [TcRn ()]) ->
case go14_r1b1O wild_aSK1 env_aSMj ipv_XSSH of
{ (# ipv1_aTsT, ipv2_aTsU #) ->
case raiseIO# @ SomeException @ () $fMonadFailIOEnv2 ipv1_aTsT
of wild1_00 {
}
}
arg_r1b1Q :: [(FieldLabelString, [Bool])] -> SDocContext -> Doc
[GblId, Arity=2, Str=<S,1*U><L,U(U,U,U)>, Unf=OtherCon []]
arg_r1b1Q
= \ (x_XDBX :: [(FieldLabelString, [Bool])])
(eta_B1 :: SDocContext) ->
pprQuotedList2
((\ _ [Occ=Dead, OS=OneShot] ->
case x_XDBX of {
[] -> case badHead of wild1_00 { };
: x1_aDzu ds1_aDzv ->
case x1_aDzu of { (x2_aDzl, ds2_aDzm) ->
case x2_aDzl of wild2_aSKZ
{ FastString dt_aSL1 dt1_aSL2 dt2_aSL3 dt3_aSL4 dt4_aSL5 dt5_aSL6
dt6_aSL7 ->
TextBeside (PStr wild2_aSKZ) dt1_aSL2 Empty
}
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
eta_B1
lvl149_r1b1R :: [SDoc]
[GblId]
lvl149_r1b1R
= punctuate
($fOutputableIntMap4
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(map
@ [(FieldLabelString, [Bool])]
@ SDoc
(arg_r1b1Q
`cast` (<[(FieldLabelString, [Bool])]>_R ->_R Sym (N:SDoc[0])
:: ([(FieldLabelString, [Bool])] -> SDocContext -> Doc)
~R# ([(FieldLabelString, [Bool])] -> SDoc)))
(groupBy
@ (FieldLabelString, [Bool])
lvl85_r1aYK
([] @ (FieldLabelString, [Bool]))))
Rec {
$wgo4_r1b1S
:: [(FieldLabelString, [Bool])]
-> (# [(FieldLabelString, [Bool])], [(FieldLabelString, [Bool])] #)
[GblId, Arity=1, Caf=NoCafRefs, Str=<S,1*U>, Unf=OtherCon []]
$wgo4_r1b1S
= \ (w_s16MS :: [(FieldLabelString, [Bool])]) ->
case w_s16MS of {
[] ->
(# [] @ (FieldLabelString, [Bool]),
[] @ (FieldLabelString, [Bool]) #);
: y_aSw9 ys_aSwa ->
case y_aSw9 of wild1_aDzI { (ds1_aDzK, y1_aDzL) ->
let {
w2_aVyO [Dmd=<L,U(U,U)>]
:: ([(FieldLabelString, [Bool])], [(FieldLabelString, [Bool])])
[LclId]
w2_aVyO
= case $wgo4_r1b1S ys_aSwa of { (# ww1_s170j, ww2_s170k #) ->
(ww1_s170j, ww2_s170k)
} } in
join {
$j_s14L7 [Dmd=<L,U(U,U)>]
:: (# [(FieldLabelString, [Bool])], [(FieldLabelString, [Bool])] #)
[LclId[JoinId(0)]]
$j_s14L7
= (# : @ (FieldLabelString, [Bool])
wild1_aDzI
(case w2_aVyO of { (ts_aVz6, fs_aVz7) -> ts_aVz6 }),
case w2_aVyO of { (ts_aVzb, fs_aVzc) -> fs_aVzc } #) } in
join {
$j1_s14L6 [Dmd=<L,U(U,U)>]
:: (# [(FieldLabelString, [Bool])], [(FieldLabelString, [Bool])] #)
[LclId[JoinId(0)]]
$j1_s14L6
= (# case w2_aVyO of { (ts_aVyU, fs_aVyV) -> ts_aVyU },
: @ (FieldLabelString, [Bool])
wild1_aDzI
(case w2_aVyO of { (ts_aVyZ, fs_aVz0) -> fs_aVz0 }) #) } in
joinrec {
go25_XSLG [Occ=LoopBreaker]
:: [Bool]
-> (# [(FieldLabelString, [Bool])], [(FieldLabelString, [Bool])] #)
[LclId[JoinId(1)], Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go25_XSLG (ds_XSLI :: [Bool])
= case ds_XSLI of {
[] -> jump $j1_s14L6;
: y2_XSLQ ys1_XSLS ->
case y2_XSLQ of {
False -> jump go25_XSLG ys1_XSLS;
True -> jump $j_s14L7
}
}; } in
jump go25_XSLG y1_aDzL
}
}
end Rec }
Rec {
$wgo5_r1b1T :: Int# -> [Bool] -> Int
[GblId, Arity=2, Caf=NoCafRefs, Str=<L,U><S,1*U>m, Unf=OtherCon []]
$wgo5_r1b1T
= \ (ww_aE8o :: Int#) (w2_aE8p :: [Bool]) ->
case w2_aE8p of {
[] -> I# ww_aE8o;
: x_aE8u xs_aE8v ->
case x_aE8u of {
False -> $wgo5_r1b1T ww_aE8o xs_aE8v;
True -> $wgo5_r1b1T (+# ww_aE8o 1#) xs_aE8v
}
}
end Rec }
lvl150_r1b1U :: Doc
[GblId, Caf=NoCafRefs, Str=m3, Unf=OtherCon []]
lvl150_r1b1U = TextBeside plural3 1# Empty
lvl151_r1b1V :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl151_r1b1V = Beside d19_r1aYG False lvl150_r1b1U
lvl152_r1b1W :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl152_r1b1W = Beside lvl151_r1b1V False lvl34_r1aXD
lvl153_r1b1X :: RDoc
[GblId]
lvl153_r1b1X = reduceDoc lvl152_r1b1W
lvl154_r1b1Y :: Doc
[GblId, Caf=NoCafRefs, Str=m7, Unf=OtherCon []]
lvl154_r1b1Y = Beside lvl150_r1b1U False lvl34_r1aXD
lvl155_r1b1Z :: RDoc
[GblId]
lvl155_r1b1Z = reduceDoc lvl154_r1b1Y
lvl156_r1b20 :: RDoc
[GblId]
lvl156_r1b20 = reduceDoc lvl34_r1aXD
lvl157_r1b21 :: Doc
[GblId, Str=m7, Unf=OtherCon []]
lvl157_r1b21 = Beside d19_r1aYG False lvl34_r1aXD
lvl158_r1b22 :: RDoc
[GblId]
lvl158_r1b22 = reduceDoc lvl157_r1b21
Rec {
go15_r1b23 :: [(FieldLabelString, TcType)] -> [SDoc]
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go15_r1b23
= \ (ds_aSw4 :: [(FieldLabelString, TcType)]) ->
case ds_aSw4 of {
[] -> [] @ SDoc;
: y_aSw9 ys_aSwa ->
case y_aSw9 of { (f_atPi, ty_atPj) ->
let {
lvl168_sXSA :: TextDetails
[LclId, Unf=OtherCon []]
lvl168_sXSA = PStr f_atPi } in
: @ SDoc
((\ (sty_XSQi :: SDocContext) ->
case $fOutputableTyCoBinder3
emptyTidyEnv
($fShowFractionalLit2
`cast` (Sym (N:PprPrec[0]) :: Int ~R# PprPrec))
ty_atPj
sty_XSQi
of wild2_aSI5 {
__DEFAULT ->
case dcolon1 sty_XSQi of wild3_XT7S {
__DEFAULT ->
case f_atPi of
{ FastString dt_aSL1 dt1_aSL2 dt2_aSL3 dt3_aSL4 dt4_aSL5 dt5_aSL6
dt6_aSL7 ->
Beside
(Beside (TextBeside lvl168_sXSA dt1_aSL2 Empty) True wild3_XT7S)
True
wild2_aSI5
};
Empty ->
case f_atPi of
{ FastString dt_aSL1 dt1_aSL2 dt2_aSL3 dt3_aSL4 dt4_aSL5 dt5_aSL6
dt6_aSL7 ->
Beside (TextBeside lvl168_sXSA dt1_aSL2 Empty) True wild2_aSI5
}
};
Empty ->
case dcolon1 sty_XSQi of wild3_XSXq {
__DEFAULT ->
case f_atPi of
{ FastString dt_aSL1 dt1_aSL2 dt2_aSL3 dt3_aSL4 dt4_aSL5 dt5_aSL6
dt6_aSL7 ->
Beside (TextBeside lvl168_sXSA dt1_aSL2 Empty) True wild3_XSXq
};
Empty ->
case f_atPi of
{ FastString dt_aSL1 dt1_aSL2 dt2_aSL3 dt3_aSL4 dt4_aSL5 dt5_aSL6
dt6_aSL7 ->
TextBeside lvl168_sXSA dt1_aSL2 Empty
}
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(go15_r1b23 ys_aSwa)
}
}
end Rec }
Rec {
go16_r1b24 :: [FieldLbl Name] -> [Type] -> [(Name, Type)]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U><L,1*U>,
Unf=OtherCon []]
go16_r1b24
= \ (ds_aSw4 :: [FieldLbl Name]) (eta_B1 :: [Type]) ->
case ds_aSw4 of {
[] -> [] @ (Name, Type);
: y_aSw9 ys_aSwa ->
case eta_B1 of {
[] -> [] @ (Name, Type);
: y1_aVns ys1_aVnt ->
: @ (Name, Type)
(case y_aSw9 of { FieldLabel ds1_aEdG ds2_aEdH ds3_aEdI ->
ds3_aEdI
},
y1_aVns)
(go16_r1b24 ys_aSwa ys1_aVnt)
}
}
end Rec }
Rec {
go17_r1b25 :: [FieldLbl Name] -> [Type] -> [(Name, Type)]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U><L,1*U>,
Unf=OtherCon []]
go17_r1b25
= \ (ds_aSw4 :: [FieldLbl Name]) (eta_B1 :: [Type]) ->
case ds_aSw4 of {
[] -> [] @ (Name, Type);
: y_aSw9 ys_aSwa ->
case eta_B1 of {
[] -> [] @ (Name, Type);
: y1_aVns ys1_aVnt ->
: @ (Name, Type)
(case y_aSw9 of { FieldLabel ds1_aEdG ds2_aEdH ds3_aEdI ->
ds3_aEdI
},
y1_aVns)
(go17_r1b25 ys_aSwa ys1_aVnt)
}
}
end Rec }
Rec {
$wgo6_r1b26 :: [Id] -> (# [Id], [Id] #)
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
$wgo6_r1b26
= \ (w_s16Mg :: [Id]) ->
case w_s16Mg of {
[] -> (# [] @ Id, [] @ Id #);
: y_aSw9 ys_aSwa ->
case y_aSw9 of wild1_aL0u {
__DEFAULT -> case idDetails1 wild1_aL0u of wild2_00 { };
Id ds1_aL0w dt_aL0x ds2_aL0y ds3_aL0z ds4_aL0A ds5_aL0B ->
let {
w2_aVyO [Dmd=<L,U(1*U,1*U)>] :: ([Id], [Id])
[LclId]
w2_aVyO
= case $wgo6_r1b26 ys_aSwa of { (# ww1_s170g, ww2_s170h #) ->
(ww1_s170g, ww2_s170h)
} } in
case ds4_aL0A of {
__DEFAULT ->
(# case w2_aVyO of { (ts_aVyU, fs_aVyV) -> ts_aVyU },
: @ Id
wild1_aL0u
(case w2_aVyO of { (ts_aVyZ, fs_aVz0) -> fs_aVz0 }) #);
RecSelId ds_aL0F ds7_aL0G ->
case ds_aL0F of {
RecSelData ds8_aL0L ->
(# : @ Id
wild1_aL0u
(case w2_aVyO of { (ts_aVz6, fs_aVz7) -> ts_aVz6 }),
case w2_aVyO of { (ts_aVzb, fs_aVzc) -> fs_aVzc } #);
RecSelPatSyn ipv_aL0N ->
(# case w2_aVyO of { (ts_aVyU, fs_aVyV) -> ts_aVyU },
: @ Id
wild1_aL0u
(case w2_aVyO of { (ts_aVyZ, fs_aVz0) -> fs_aVz0 }) #)
}
}
}
}
end Rec }
Rec {
go18_r1b27
:: [LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)]
-> [TcRn ()]
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go18_r1b27
= \ (ds_aSw4
:: [LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)]) ->
case ds_aSw4 of {
[] -> [] @ (TcRn ());
: y_aSw9 ys_aSwa ->
case y_aSw9
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField'
(AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)>_N))))_R
:: GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)))))
of
{ L ds1_aDdY e_aDdZ ->
case e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)))
~R# HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn))
of
{ HsRecField ds2_aL1a ds3_aL1b ds4_aL1c ->
case ds2_aL1a of { L a1_aL1g a2_aL1h ->
join {
$w$j_s16Me [InlPrag=NOUSERINLINE[2], Dmd=<C(C(S)),1*C1(C1(U))>]
:: Name -> IdDetails -> [TcRn ()]
[LclId[JoinId(2)],
Arity=2,
Str=<L,U(U,U(U,U(U,U,U,U,U,U,U)),U,A)><S,1*U>,
Unf=OtherCon []]
$w$j_s16Me (w_s16M7 [OS=OneShot] :: Name)
(w1_s16Mb [OS=OneShot] :: IdDetails)
= case w1_s16Mb of {
__DEFAULT ->
: @ (TcRn ())
(let {
err_msg_s10Fh [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLL),1*U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= $fOutputableBndrName1 w_s16M7}]
err_msg_s10Fh = $fOutputableBndrName1 w_s16M7 } in
let {
err_msg1_s10Fi :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<L,U(U,U,U)>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= pprQuotedList2
(err_msg_s10Fh
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))}]
err_msg1_s10Fi
= pprQuotedList2
(err_msg_s10Fh
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) } in
let {
err_msg2_sYxj :: [SDoc]
[LclId, Unf=OtherCon []]
err_msg2_sYxj
= : @ SDoc
(err_msg1_s10Fi
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl121_r1b0j } in
let {
err_msg3_sXsT :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
Tmpl= hsep1 err_msg2_sYxj}]
err_msg3_sXsT = hsep1 err_msg2_sYxj } in
case a1_aL1g of {
RealSrcSpan real_loc_aEl6 ->
(\ (eta_aEl5 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
let {
env_sXsS [Dmd=<L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U,U,U,U,U,U,U),U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))>]
:: Env TcGblEnv TcLclEnv
[LclId]
env_sXsS
= case eta_aEl5 of { Env ds5_aEoz dt_aEoC ds6_aEoF ds7_aEoG ->
Env
@ TcGblEnv
@ TcLclEnv
ds5_aEoz
dt_aEoC
ds6_aEoF
(case ds7_aEoG of
{ TcLclEnv ds8_aEoL ds9_aEoM ds10_aEoN ds11_aEoO ds12_aEoP
ds13_aEoR ds14_aEoY ds15_aEoZ ds16_aEp0 ds17_aEp2
ds18_aEp3 ds19_aEp4 ->
TcLclEnv
real_loc_aEl6
ds9_aEoM
ds10_aEoN
ds11_aEoO
ds12_aEoP
ds13_aEoR
ds14_aEoY
ds15_aEoZ
ds16_aEp0
ds17_aEp2
ds18_aEp3
ds19_aEp4
})
} } in
case ((((noinline
@ (TcM TidyEnv)
(tcInitTidyEnv1
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <TidyEnv>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<TidyEnv>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, TidyEnv #))
~R# IOEnv (Env TcGblEnv TcLclEnv) TidyEnv)))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <TidyEnv>_R
:: IOEnv (Env TcGblEnv TcLclEnv) TidyEnv
~R# (Env TcGblEnv TcLclEnv -> IO TidyEnv)))
env_sXsS)
`cast` (N:IO[0] <TidyEnv>_R
:: IO TidyEnv
~R# (State# RealWorld
-> (# State# RealWorld, TidyEnv #))))
eta1_B1
of
{ (# ipv_aTHO, ipv1_aTHP #) ->
addErrTc2
(ipv1_aTHP,
err_msg3_sXsT
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
env_sXsS
ipv_aTHO
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <()>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<()>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, () #))
~R# IOEnv (Env TcGblEnv TcLclEnv) ());
UnhelpfulSpan ds5_aEp8 ->
(\ (env_aTHI :: Env TcGblEnv TcLclEnv)
(s2_aTHJ :: State# RealWorld) ->
case ((((noinline
@ (TcM TidyEnv)
(tcInitTidyEnv1
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <TidyEnv>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<TidyEnv>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, TidyEnv #))
~R# IOEnv (Env TcGblEnv TcLclEnv) TidyEnv)))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <TidyEnv>_R
:: IOEnv (Env TcGblEnv TcLclEnv) TidyEnv
~R# (Env TcGblEnv TcLclEnv -> IO TidyEnv)))
env_aTHI)
`cast` (N:IO[0] <TidyEnv>_R
:: IO TidyEnv
~R# (State# RealWorld
-> (# State# RealWorld, TidyEnv #))))
s2_aTHJ
of
{ (# ipv_aTHO, ipv1_aTHP #) ->
addErrTc2
(ipv1_aTHP,
err_msg3_sXsT
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
env_aTHI
ipv_aTHO
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <()>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<()>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, () #))
~R# IOEnv (Env TcGblEnv TcLclEnv) ())
})
(go18_r1b27 ys_aSwa);
RecSelId ds5_aEgY ds7_aEgZ -> go18_r1b27 ys_aSwa
} } in
case a2_aL1h of {
Unambiguous rdr_aL1l sel_aL1m ->
case rdr_aL1l
`cast` (Sub (D:R:XUnambiguousGhcPass[0])
:: XUnambiguous GhcTc ~R# Id)
of wild5_aEgN {
__DEFAULT -> case idDetails1 wild5_aEgN of wild6_00 { };
Id ds5_aEgP dt_aEgQ ds6_aEgR ds7_aEgS ds8_aEgT ds9_aEgU ->
jump $w$j_s16Me ds5_aEgP ds8_aEgT
};
Ambiguous rdr_aL1p sel_aL1q ->
case rdr_aL1p
`cast` (Sub (D:R:XAmbiguousGhcPass[0]) :: XAmbiguous GhcTc ~R# Id)
of wild5_aEgN {
__DEFAULT -> case idDetails1 wild5_aEgN of wild6_00 { };
Id ds5_aEgP dt_aEgQ ds6_aEgR ds7_aEgS ds8_aEgT ds9_aEgU ->
jump $w$j_s16Me ds5_aEgP ds8_aEgT
};
XAmbiguousFieldOcc ds5_aL1w ->
case unambiguousFieldOcc1 of {
FieldOcc ds6_aL1y ds7_aL1z ->
case ds6_aL1y
`cast` (Sub (D:R:XCFieldOccGhcPass[0]) :: XCFieldOcc GhcTc ~R# Id)
of wild6_aEgN {
__DEFAULT -> case idDetails1 wild6_aEgN of wild7_00 { };
Id ds8_aEgP dt_aEgQ ds9_aEgR ds10_aEgS ds11_aEgT ds12_aEgU ->
jump $w$j_s16Me ds8_aEgP ds11_aEgT
};
XFieldOcc ipv_aL1C -> case extFieldOcc1 of wild6_00 { }
}
}
}
}
}
}
end Rec }
Rec {
go19_r1b28
:: [LHsRecUpdField GhcRn] -> Maybe [(LHsRecUpdField GhcRn, Name)]
[GblId, Arity=1, Caf=NoCafRefs, Str=<S,1*U>, Unf=OtherCon []]
go19_r1b28
= \ (ds_aSw4 :: [LHsRecUpdField GhcRn]) ->
case ds_aSw4 of {
[] -> lvl95_r1aZ4;
: y_aSw9 ys_aSwa ->
case y_aSw9
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField'
(AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)>_N))))_R
:: GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)))))
of wild1_aDdW
{ L ds1_aDdY e_aDdZ ->
case e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)))
~R# HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))
of
{ HsRecField ds2_aDdP ds3_aDdQ ds4_aDdR ->
case ds2_aDdP
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <AmbiguousFieldOcc GhcRn>_N))))_R
:: GenLocated SrcSpan (AmbiguousFieldOcc GhcRn)
~R# GenLocated
SrcSpan
(SrcSpanLess (GenLocated SrcSpan (AmbiguousFieldOcc GhcRn))))
of
{ L ds5_XDxt e1_XDxv ->
case e1_XDxv
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <AmbiguousFieldOcc GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (AmbiguousFieldOcc GhcRn))
~R# AmbiguousFieldOcc GhcRn)
of {
Unambiguous sel_name_atNh ds6_dEjF ->
case go19_r1b28 ys_aSwa of {
Nothing -> Nothing @ [(LHsRecUpdField GhcRn, Name)];
Just y1_aVoz ->
Just
@ [(LHsRecUpdField GhcRn, Name)]
(: @ (LHsRecUpdField GhcRn, Name)
(wild1_aDdW
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsRecField'
(AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))))
~R# GenLocated
SrcSpan
(HsRecField' (AmbiguousFieldOcc GhcRn) (LHsExpr GhcRn))),
sel_name_atNh
`cast` (Sub (D:R:XUnambiguousGhcPass0[0])
:: XUnambiguous GhcRn ~R# Name))
y1_aVoz)
};
Ambiguous ds6_dEjG ds7_dEjH ->
Nothing @ [(LHsRecUpdField GhcRn, Name)];
XAmbiguousFieldOcc ds6_dEjI ->
Nothing @ [(LHsRecUpdField GhcRn, Name)]
}
}
}
}
}
end Rec }
Rec {
go20_r1b29 :: [FieldLbl Name] -> [Type] -> [(Name, Type)]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U><L,1*U>,
Unf=OtherCon []]
go20_r1b29
= \ (ds_aSw4 :: [FieldLbl Name]) (eta_B1 :: [Type]) ->
case ds_aSw4 of {
[] -> [] @ (Name, Type);
: y_aSw9 ys_aSwa ->
case eta_B1 of {
[] -> [] @ (Name, Type);
: y1_aVns ys1_aVnt ->
: @ (Name, Type)
(case y_aSw9 of { FieldLabel ds1_aEdG ds2_aEdH ds3_aEdI ->
ds3_aEdI
},
y1_aVns)
(go20_r1b29 ys_aSwa ys1_aVnt)
}
}
end Rec }
Rec {
go21_r1b2a :: [FieldLbl Name] -> [Type] -> [(Name, Type)]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U><L,1*U>,
Unf=OtherCon []]
go21_r1b2a
= \ (ds_aSw4 :: [FieldLbl Name]) (eta_B1 :: [Type]) ->
case ds_aSw4 of {
[] -> [] @ (Name, Type);
: y_aSw9 ys_aSwa ->
case eta_B1 of {
[] -> [] @ (Name, Type);
: y1_aVns ys1_aVnt ->
: @ (Name, Type)
(case y_aSw9 of { FieldLabel ds1_aEdG ds2_aEdH ds3_aEdI ->
ds3_aEdI
},
y1_aVns)
(go21_r1b2a ys_aSwa ys1_aVnt)
}
}
end Rec }
lvl159_r1b2b :: TcM ([LHsExpr GhcTcId], TcSigmaType)
[GblId, Str=b]
lvl159_r1b2b
= patError
@ 'LiftedRep @ (TcM ([LHsExpr GhcTcId], TcSigmaType)) lvl68_r1aYp
lvl160_r1b2c
:: TcM (LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId)
[GblId, Str=b]
lvl160_r1b2c
= patError
@ 'LiftedRep
@ (TcM (LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId))
lvl63_r1aYk
Rec {
$wunsafeDrop1_r1b2d :: forall a1. Int# -> [a1] -> [a1]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<L,1*U><S,1*U>,
Unf=OtherCon []]
$wunsafeDrop1_r1b2d
= \ (@ a1_s16Li) (ww_s16Ln :: Int#) (w_s16Lk :: [a1_s16Li]) ->
case w_s16Lk of {
[] -> [] @ a1_s16Li;
: ipv1_aKE1 ipv2_aKE2 ->
case ww_s16Ln of ds3_aKE4 {
__DEFAULT ->
$wunsafeDrop1_r1b2d @ a1_s16Li (-# ds3_aKE4 1#) ipv2_aKE2;
1# -> ipv2_aKE2
}
}
end Rec }
Rec {
go22_r1b2e
:: [Type] -> [GenLocated SrcSpan (HsTupArg GhcRn)] -> [Type]
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=<S,1*U><L,1*U>,
Unf=OtherCon []]
go22_r1b2e
= \ (ds_aSGL :: [Type])
(_ys_aSGM :: [GenLocated SrcSpan (HsTupArg GhcRn)]) ->
case ds_aSGL of {
[] -> [] @ Type;
: ipv_aSGR ipv1_aSGS ->
case _ys_aSGM of {
[] -> [] @ Type;
: ipv2_aSGY ipv3_aSGZ ->
case ipv2_aSGY of { L ds1_dKFi ds2_dKFj ->
case ds2_dKFj of {
__DEFAULT -> go22_r1b2e ipv1_aSGS ipv3_aSGZ;
Missing ds3_dKFk ->
: @ Type ipv_aSGR (go22_r1b2e ipv1_aSGS ipv3_aSGZ)
}
}
}
}
end Rec }
Rec {
$wloop_r1b2f
:: Int#
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [Type] #)
[GblId,
Arity=3,
Str=<L,U><L,1*U(U,U,U,U(U,U,U,U,U,U,U,U,U,U,U,U))><L,U>,
Unf=OtherCon []]
$wloop_r1b2f
= \ (ww_s16BF :: Int#)
(w_s16BB :: Env TcGblEnv TcLclEnv)
(w1_s16BC :: State# RealWorld) ->
case <=# ww_s16BF 0# of {
__DEFAULT ->
case w_s16BB of ww1_aV5x
{ Env ww2_aV5A ww3_aV5B ww4_aV5C ww5_aV5D ->
case $wnewOpenFlexiTyVarTy
ww2_aV5A ww3_aV5B ww4_aV5C ww5_aV5D w1_s16BC
of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case $wloop_r1b2f (-# ww_s16BF 1#) ww1_aV5x ipv_aTz8 of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd, : @ Type ipv1_aTz9 ipv3_aTze #)
}
}
};
1# -> (# w1_s16BC, [] @ Type #)
}
end Rec }
lvl161_r1b2g :: TcM (LHsExpr GhcTcId)
[GblId, Str=b]
lvl161_r1b2g
= patError @ 'LiftedRep @ (TcM (LHsExpr GhcTcId)) lvl54_r1aYa
lvl162_r1b2h :: [SDoc]
[GblId, Str=m2, Unf=OtherCon []]
lvl162_r1b2h
= : @ SDoc
(lvl44_r1aXW
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
([] @ SDoc)
lvl163_r1b2i :: HsExpr (GhcPass 'Renamed) -> SDoc
[GblId]
lvl163_r1b2i
= $wppr_expr
@ 'Renamed
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (NameOrRdrName (IdP GhcRn))))
($fOutputableBndrName
`cast` ((OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_R
:: OutputableBndr Name ~R# OutputableBndr (IdP GhcRn)))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_R
:: OutputableBndr Name
~R# OutputableBndr
(NameOrRdrName (IdP (NoGhcTc (GhcPass 'Renamed))))))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed)))))
@~ (D:R:NoGhcTc[0] <'Renamed>_N ; ((GhcPass
(D:R:NoGhcTcPass[1]
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N))))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))
:: NoGhcTc (GhcPass 'Renamed)
~# NoGhcTc (NoGhcTc (GhcPass 'Renamed)))
($fOutputableHsExpr2
`cast` (((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds GhcRn), Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn))))
($fOutputableHsExpr2
`cast` (((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn))))
lvl164_r1b2j :: [SDoc]
[GblId, Str=m2, Unf=OtherCon []]
lvl164_r1b2j
= : @ SDoc
(lvl42_r1aXQ
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
([] @ SDoc)
lvl165_r1b2k
:: GenLocated SrcSpan (Match (GhcPass 'Renamed) (LHsExpr GhcRn))
-> SDoc
[GblId, Arity=1, Str=<L,1*U(A,1*U)>, Unf=OtherCon []]
lvl165_r1b2k
= \ (x_aXEe
:: GenLocated
SrcSpan (Match (GhcPass 'Renamed) (LHsExpr GhcRn))) ->
$wpprMatch
@ 'Renamed
@ (LHsExpr GhcRn)
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (NameOrRdrName (IdP GhcRn))))
($fOutputableBndrName
`cast` ((OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_R
:: OutputableBndr Name ~R# OutputableBndr (IdP GhcRn)))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_R
:: OutputableBndr Name
~R# OutputableBndr
(NameOrRdrName (IdP (NoGhcTc (GhcPass 'Renamed))))))
($fOutputableBndrName
`cast` ((OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_R
:: OutputableBndr Name
~R# OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed)))))
@~ (D:R:NoGhcTc[0] <'Renamed>_N ; ((GhcPass
(D:R:NoGhcTcPass[1]
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N))))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))
:: NoGhcTc (GhcPass 'Renamed)
~# NoGhcTc (NoGhcTc (GhcPass 'Renamed)))
($spprMatches1
`cast` (((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds GhcRn), Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn))))
($spprMatches1
`cast` (((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_R
:: (Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn))
~R# (Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn))))
$s$fOutputableGenLocated
(case x_aXEe
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Match (GhcPass 'Renamed) (LHsExpr GhcRn)>_N))))_R
:: GenLocated SrcSpan (Match (GhcPass 'Renamed) (LHsExpr GhcRn))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (Match (GhcPass 'Renamed) (LHsExpr GhcRn)))))
of
{ L ds4_aXEm e1_aXEn ->
e1_aXEn
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Match (GhcPass 'Renamed) (LHsExpr GhcRn)>_N)
:: SrcSpanLess
(GenLocated SrcSpan (Match (GhcPass 'Renamed) (LHsExpr GhcRn)))
~R# Match (GhcPass 'Renamed) (LHsExpr GhcRn))
})
lvl166_r1b2l
:: State# RealWorld
-> RdrName
-> Env TcGblEnv TcLclEnv
-> RealSrcSpan
-> (# State# RealWorld, (HsExpr GhcTcId, TcRhoType) #)
[GblId,
Arity=4,
Str=<L,U><S,U><S(LLS(LLLSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)L),1*U(U,U,1*U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),1*U(A,A,U,U,U,U,U,U,U,U,U,U))><L,U>,
Unf=OtherCon []]
lvl166_r1b2l
= \ (s2_aSMk :: State# RealWorld)
(ww_X16Ki :: RdrName)
(env_aSMj :: Env TcGblEnv TcLclEnv)
(real_loc_aEl6 :: RealSrcSpan) ->
$wambiguousSelector_r1b0H
@ (HsExpr GhcTcId, TcRhoType)
ww_X16Ki
(case env_aSMj of { Env ds1_aEoz dt_aEoC ds2_aEoF ds3_aEoG ->
Env
@ TcGblEnv
@ TcLclEnv
ds1_aEoz
dt_aEoC
ds2_aEoF
(case ds3_aEoG of
{ TcLclEnv ds4_aEoL ds5_aEoM ds6_aEoN ds7_aEoO ds8_aEoP ds9_aEoR
ds10_aEoY ds11_aEoZ ds12_aEp0 ds13_aEp2 ds14_aEp3 ds15_aEp4 ->
TcLclEnv
real_loc_aEl6
ds5_aEoM
ds6_aEoN
ds7_aEoO
ds8_aEoP
ds9_aEoR
ds10_aEoY
ds11_aEoZ
ds12_aEp0
ds13_aEp2
ds14_aEp3
ds15_aEp4
})
})
s2_aSMk
Rec {
tcApp1_rpGJ :: HsExpr GhcRn -> ExpRhoType -> TcM (HsExpr GhcTcId)
[GblId, Arity=2, Str=<L,U><L,U>, Unf=OtherCon []]
tcApp1_rpGJ
= \ (e_atFB :: HsExpr GhcRn) (res_ty_atFC :: ExpRhoType) ->
let {
ds_sXnN [Dmd=<L,C(C1(U(U,1*U(1*U,U(U,U),1*U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])
[LclId]
ds_sXnN
= $wtcApp_r1b2s
(Nothing @ SDoc)
noSrcSpan
e_atFB
([] @ LHsExprArgIn)
res_ty_atFC } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds_sXnN
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut]))))
env_aSMj)
`cast` (N:IO[0] <(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])>_R
:: IO (HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut]) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (wrap_atFD, fun_atFE, args_atFF) ->
(# ipv_aSMn,
case ($swrapHsArgs1_r1aZT fun_atFE args_atFF)
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr (GhcPass 'Typechecked)>_N))))_R
:: GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked)))))
of
{ L ds2_aDdY e1_aDdZ ->
mkHsWrap
@ 'Typechecked
wrap_atFD
(e1_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr (GhcPass 'Typechecked)>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked)))
~R# HsExpr (GhcPass 'Typechecked)))
} #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
$wtcInferSigmaNC [InlPrag=NOUSERINLINE[2]]
:: SrcSpan
-> HsExpr GhcRn
-> HscEnv
-> MutVar# RealWorld UniqSupply
-> TcGblEnv
-> TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #)
[GblId,
Arity=7,
Str=<S,U><L,1*U><L,U><L,U><L,U><L,U(U,U,U(U),U,U,U,U,U,U,U,U,U)><L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=IF_ARGS [40 0 0 0 0 20 0] 311 0}]
$wtcInferSigmaNC
= \ (ww_s16C4 :: SrcSpan)
(ww1_s16C5 :: HsExpr GhcRn)
(ww2_s16C9
:: HscEnv
Unf=OtherCon [])
(ww3_s16Ca :: MutVar# RealWorld UniqSupply)
(ww4_s16Cb :: TcGblEnv)
(ww5_s16Cc :: TcLclEnv)
(w_s16C1 :: State# RealWorld) ->
join {
$wthing_inside_s16BY [InlPrag=NOUSERINLINE[2],
Dmd=<C(C(C(C(C(S))))),1*C1(C1(C1(C1(C1(U(U,U))))))>]
:: HscEnv
-> MutVar# RealWorld UniqSupply
-> TcGblEnv
-> TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #)
[LclId[JoinId(5)],
Arity=5,
Str=<L,U><L,U><L,U><L,U(U,U,U(U),U,U,U,U,U,U,U,U,U)><L,U>,
Unf=OtherCon []]
$wthing_inside_s16BY (ww6_s16BT [OS=OneShot]
:: HscEnv
Unf=OtherCon [])
(ww7_s16BU [OS=OneShot] :: MutVar# RealWorld UniqSupply)
(ww8_s16BV [OS=OneShot] :: TcGblEnv)
(ww9_s16BW [OS=OneShot] :: TcLclEnv)
(w1_s16BQ [OS=OneShot] :: State# RealWorld)
= case $wnewInferExpType
False ww6_s16BT ww7_s16BU ww8_s16BV ww9_s16BW w1_s16BQ
of
{ (# ipv_aYeL, ipv1_aYeM #) ->
case ((((tcExpr ww1_s16C5 ipv1_aYeM)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
(Env
@ TcGblEnv @ TcLclEnv ww6_s16BT ww7_s16BU ww8_s16BV ww9_s16BW))
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
ipv_aYeL
of
{ (# ipv2_aYeQ, ipv3_aYeR #) ->
case ipv1_aYeM of wild_aYeT {
Check ty_aYeV ->
(# ipv2_aYeQ,
(L @ SrcSpan @ (HsExpr GhcTcId) ww_s16C4 ipv3_aYeR, ty_aYeV) #);
Infer ds_aYeY ->
case ds_aYeY of { IR ds3_s19cz ds4_s19cA ds5_s19cB ds6_s19cC ->
case ds6_s19cC
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef var#_aYf9 ->
case readMutVar# @ RealWorld @ (Maybe TcType) var#_aYf9 ipv2_aYeQ
of
{ (# ipv4_aYfd, ipv5_aYfe #) ->
case ipv5_aYfe of {
Nothing -> case readExpType2 wild_aYeT of wild4_00 { };
Just ty_aYfk ->
(# ipv4_aYfd,
(L @ SrcSpan @ (HsExpr GhcTcId) ww_s16C4 ipv3_aYeR, ty_aYfk) #)
}
}
}
}
}
}
} } in
case ww_s16C4 of {
RealSrcSpan real_loc_aEl6 ->
jump $wthing_inside_s16BY
ww2_s16C9
ww3_s16Ca
ww4_s16Cb
(case ww5_s16Cc of
{ TcLclEnv ds4_aEoL ds5_aEoM ds6_aEoN ds7_aEoO ds8_aEoP ds9_aEoR
ds10_aEoY ds11_aEoZ ds12_aEp0 ds13_aEp2 ds14_aEp3 ds15_aEp4 ->
TcLclEnv
real_loc_aEl6
ds5_aEoM
ds6_aEoN
ds7_aEoO
ds8_aEoP
ds9_aEoR
ds10_aEoY
ds11_aEoZ
ds12_aEp0
ds13_aEp2
ds14_aEp3
ds15_aEp4
})
w_s16C1;
UnhelpfulSpan ds1_aEp8 ->
jump $wthing_inside_s16BY
ww2_s16C9 ww3_s16Ca ww4_s16Cb ww5_s16Cc w_s16C1
}
tcInferSigma :: LHsExpr GhcRn -> TcM (LHsExpr GhcTcId, TcSigmaType)
[GblId,
Arity=1,
Str=<L,U(U,U)>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 220 60}]
tcInferSigma
= \ (expr_aroS :: LHsExpr GhcRn) ->
let {
msg_sXjN :: SDocContext -> Doc
[LclId]
msg_sXjN = addExprErrCtxt2 expr_aroS } in
let {
lvl168_sYhl
:: TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #)
[LclId,
Arity=3,
Str=<L,U><L,A><L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=True)
Tmpl= \ (env_aTST [Occ=Once] :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV [Occ=Once] :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXjN
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #)}]
lvl168_sYhl
= \ (env_aTST :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXjN
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #) } in
let {
lvl169_sXLe
:: (Bool,
TidyEnv -> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc))
[LclId, Unf=OtherCon []]
lvl169_sXLe
= (False,
lvl168_sYhl
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(TidyEnv, MsgDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
MsgDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #))
~R# (TidyEnv
-> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc)))) } in
(\ (eta1_aTSw :: Env TcGblEnv TcLclEnv)
(eta_B1 :: State# RealWorld) ->
case expr_aroS of { L ww1_s16C4 ww2_s16C5 ->
case eta1_aTSw of { Env ds_aTSz dt_aTSA ds1_aTSB ds2_aTSC ->
$wtcInferSigmaNC
ww1_s16C4
ww2_s16C5
ds_aTSz
dt_aTSA
ds1_aTSB
(case ds2_aTSC of
{ TcLclEnv ds3_aTSG ds4_aTSH ds5_aTSI ds6_aTSJ ds7_aTSK ds8_aTSL
ds9_aTSM ds10_aTSN ds11_aTSO ds12_aTSP ds13_aTSQ ds14_aTSR ->
TcLclEnv
ds3_aTSG
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc)) lvl169_sXLe ds4_aTSH)
ds5_aTSI
ds6_aTSJ
ds7_aTSK
ds8_aTSL
ds9_aTSM
ds10_aTSN
ds11_aTSO
ds12_aTSP
ds13_aTSQ
ds14_aTSR
})
eta_B1
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(LHsExpr GhcTcId, TcSigmaType)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv TcLclEnv>_R
<(LHsExpr GhcTcId,
TcSigmaType)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType))
$wtcInferFun_r1b2m
:: SrcSpan -> HsExpr GhcRn -> TcM (LHsExpr GhcTcId, TcSigmaType)
[GblId, Arity=2, Str=<L,U><S,1*U>, Unf=OtherCon []]
$wtcInferFun_r1b2m
= \ (ww_s16KP :: SrcSpan) (ww1_s16KQ :: HsExpr GhcRn) ->
case ww1_s16KQ of wild_X20 {
__DEFAULT ->
tcInferSigma (L @ SrcSpan @ (HsExpr GhcRn) ww_s16KP wild_X20);
HsVar ds_dJW5 ds1_dJW6 ->
case ds1_dJW6 of { L ds2_dJW7 name_atGP ->
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case ww_s16KP of wild2_aEkZ {
RealSrcSpan real_loc_aEl6 ->
case tcCheckId4
(name_atGP `cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name))
(case env_aSMj of { Env ds3_aEoz dt_aEoC ds4_aEoF ds5_aEoG ->
Env
@ TcGblEnv
@ TcLclEnv
ds3_aEoz
dt_aEoC
ds4_aEoF
(case ds5_aEoG of
{ TcLclEnv ds6_aEoL ds7_aEoM ds8_aEoN ds9_aEoO ds10_aEoP ds11_aEoR
ds12_aEoY ds13_aEoZ ds14_aEp0 ds15_aEp2 ds16_aEp3
ds17_aEp4 ->
TcLclEnv
real_loc_aEl6
ds7_aEoM
ds8_aEoN
ds9_aEoO
ds10_aEoP
ds11_aEoR
ds12_aEoY
ds13_aEoZ
ds14_aEp0
ds15_aEp2
ds16_aEp3
ds17_aEp4
})
})
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (fun_atGQ, ty_atGR) ->
(# ipv_aSMn,
(L @ SrcSpan @ (HsExpr GhcTcId) wild2_aEkZ fun_atGQ, ty_atGR) #)
}
};
UnhelpfulSpan ds3_aEp8 ->
case tcCheckId4
(name_atGP `cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name))
env_aSMj
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (fun_atGQ, ty_atGR) ->
(# ipv_aSMn,
(L @ SrcSpan @ (HsExpr GhcTcId) wild2_aEkZ fun_atGQ, ty_atGR) #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(LHsExpr GhcTcId, TcSigmaType)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(LHsExpr GhcTcId,
TcSigmaType)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType))
};
HsRecFld ds_dJW8 f_atGT ->
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case ww_s16KP of wild1_aEkZ {
RealSrcSpan real_loc_aEl6 ->
case f_atGT of {
Unambiguous sel_atL4 ds1_dJ8I ->
case ds1_dJ8I of { L ds2_dJ8J lbl_atL5 ->
case env_aSMj of { Env ds3_aEoz dt_aEoC ds4_aEoF ds5_aEoG ->
case tc_infer_id_r1aZC
lbl_atL5
(sel_atL4
`cast` (Sub (D:R:XUnambiguousGhcPass0[0])
:: XUnambiguous GhcRn ~R# Name))
(Env
@ TcGblEnv
@ TcLclEnv
ds3_aEoz
dt_aEoC
ds4_aEoF
(case ds5_aEoG of
{ TcLclEnv ds6_aEoL ds7_aEoM ds8_aEoN ds9_aEoO ds10_aEoP ds11_aEoR
ds12_aEoY ds13_aEoZ ds14_aEp0 ds15_aEp2 ds16_aEp3
ds17_aEp4 ->
TcLclEnv
real_loc_aEl6
ds7_aEoM
ds8_aEoN
ds9_aEoO
ds10_aEoP
ds11_aEoR
ds12_aEoY
ds13_aEoZ
ds14_aEp0
ds15_aEp2
ds16_aEp3
ds17_aEp4
}))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (expr'_atL6, ty_atL7) ->
(# ipv_aSMn,
(L @ SrcSpan @ (HsExpr GhcTcId) wild1_aEkZ expr'_atL6, ty_atL7) #)
}
}
}
};
Ambiguous ds1_dJ8K lbl_atL8 ->
case lbl_atL8 of { L ww3_s16yB ww4_X16Ki ->
case lvl166_r1b2l s2_aSMk ww4_X16Ki env_aSMj real_loc_aEl6
of wild3_00 {
}
};
XAmbiguousFieldOcc ds1_dJ8L ->
case (((lvl2_r1aWy
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsExpr GhcTcId, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId, TcRhoType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsExpr GhcTcId, TcRhoType))))
(case env_aSMj of { Env ds2_aEoz dt_aEoC ds3_aEoF ds4_aEoG ->
Env
@ TcGblEnv
@ TcLclEnv
ds2_aEoz
dt_aEoC
ds3_aEoF
(case ds4_aEoG of
{ TcLclEnv ds5_aEoL ds6_aEoM ds7_aEoN ds8_aEoO ds9_aEoP ds10_aEoR
ds11_aEoY ds12_aEoZ ds13_aEp0 ds14_aEp2 ds15_aEp3
ds16_aEp4 ->
TcLclEnv
real_loc_aEl6
ds6_aEoM
ds7_aEoN
ds8_aEoO
ds9_aEoP
ds10_aEoR
ds11_aEoY
ds12_aEoZ
ds13_aEp0
ds14_aEp2
ds15_aEp3
ds16_aEp4
})
}))
`cast` (N:IO[0] <(HsExpr GhcTcId, TcRhoType)>_R
:: IO (HsExpr GhcTcId, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsExpr GhcTcId, TcRhoType) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (fun_atGU, ty_atGV) ->
(# ipv_aSMn,
(L @ SrcSpan @ (HsExpr GhcTcId) wild1_aEkZ fun_atGU, ty_atGV) #)
}
}
};
UnhelpfulSpan ds1_aEp8 ->
case f_atGT of {
Unambiguous sel_atL4 ds2_dJ8I ->
case ds2_dJ8I of { L ds3_dJ8J lbl_atL5 ->
case tc_infer_id_r1aZC
lbl_atL5
(sel_atL4
`cast` (Sub (D:R:XUnambiguousGhcPass0[0])
:: XUnambiguous GhcRn ~R# Name))
env_aSMj
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (expr'_atL6, ty_atL7) ->
(# ipv_aSMn,
(L @ SrcSpan @ (HsExpr GhcTcId) wild1_aEkZ expr'_atL6, ty_atL7) #)
}
}
};
Ambiguous ds2_dJ8K lbl_atL8 ->
case lbl_atL8 of { L ww3_s16yB ww4_X16Ki ->
case $wambiguousSelector_r1b0H
@ (HsExpr GhcTcId, TcRhoType) ww4_X16Ki env_aSMj s2_aSMk
of wild3_00 {
}
};
XAmbiguousFieldOcc ds2_dJ8L ->
case (((lvl2_r1aWy
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsExpr GhcTcId, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId, TcRhoType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsExpr GhcTcId, TcRhoType))))
env_aSMj)
`cast` (N:IO[0] <(HsExpr GhcTcId, TcRhoType)>_R
:: IO (HsExpr GhcTcId, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsExpr GhcTcId, TcRhoType) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (fun_atGU, ty_atGV) ->
(# ipv_aSMn,
(L @ SrcSpan @ (HsExpr GhcTcId) wild1_aEkZ fun_atGU, ty_atGV) #)
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(LHsExpr GhcTcId, TcSigmaType)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(LHsExpr GhcTcId,
TcSigmaType)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType))
}
arithSeqEltType_rpGE
:: Maybe (SyntaxExpr GhcRn)
-> ExpRhoType -> TcM (HsWrapper, TcType, Maybe (SyntaxExpr GhcTc))
[GblId, Arity=2, Str=<S,1*U><L,U>, Unf=OtherCon []]
arithSeqEltType_rpGE
= \ (ds_dK6t :: Maybe (SyntaxExpr GhcRn))
(res_ty_atFh :: ExpRhoType) ->
case ds_dK6t of {
Nothing ->
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
join {
$j_sYhL [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> TcType
-> (# State# RealWorld,
(HsWrapper, TcType, Maybe (SyntaxExpr GhcTc)) #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,U>, Unf=OtherCon []]
$j_sYhL (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: TcType)
= case ((((matchExpectedTyConApp listTyCon ipv1_aSMo)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(TcCoercionN, [TcSigmaType])>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (TcCoercionN, [TcSigmaType])
~R# (Env TcGblEnv TcLclEnv
-> IO (TcCoercionN, [TcSigmaType]))))
env_aSMj)
`cast` (N:IO[0] <(TcCoercionN, [TcSigmaType])>_R
:: IO (TcCoercionN, [TcSigmaType])
~R# (State# RealWorld
-> (# State# RealWorld, (TcCoercionN, [TcSigmaType]) #))))
ipv_aSMn
of
{ (# ipv2_aJhV, ipv3_aJhW #) ->
case ipv3_aJhW of { (co_aJi0, ds2_aJi1) ->
case ds2_aJi1 of {
[] ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv2_aJhV
of wild3_00 {
};
: elt_ty_aJlt ds3_aJlu ->
case ds3_aJlu of {
[] ->
(# ipv2_aJhV,
(mkWpCastN co_aJi0, elt_ty_aJlt, Nothing @ (SyntaxExpr GhcTc)) #);
: ipv4_aJlA ipv5_aJlB ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv2_aJhV
of wild4_00 {
}
}
}
}
} } in
case res_ty_atFh of {
Check ty_aTvU -> jump $j_sYhL s2_aSMk ty_aTvU;
Infer inf_res_aTvY ->
case inf_res_aTvY of
{ IR ww1_s19cH ww2_s19cI ww3_s19cJ ww4_s19cK ->
case ww4_s19cK
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case env_aSMj of { Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19cH
ww2_s19cI
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
jump $j_sYhL ipv_aSMn ipv1_aSMo
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(HsWrapper, TcType,
Maybe (SyntaxExpr GhcTc))>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv TcLclEnv>_R
<(HsWrapper, TcType,
Maybe
(SyntaxExpr
GhcTc))>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
(HsWrapper, TcType, Maybe (SyntaxExpr GhcTc)) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, TcType, Maybe (SyntaxExpr GhcTc)));
Just fl_atFl ->
let {
ds1_sXkV [Dmd=<L,C(C1(U(U,1*U(U,U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (TcSigmaType, SyntaxExpr GhcTcId)
[LclId]
ds1_sXkV
= tcSyntaxOpGen
@ TcSigmaType
ListOrigin
fl_atFl
lvl12_r1aWM
(SynType res_ty_atFh)
(lvl15_r1aWP
`cast` (<[TcSigmaType]>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <TcSigmaType>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<TcSigmaType>_R)
:: ([TcSigmaType]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, TcSigmaType #))
~R# ([TcSigmaType]
-> IOEnv (Env TcGblEnv TcLclEnv) TcSigmaType))) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXkV
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(TcSigmaType, SyntaxExpr GhcTcId)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (TcSigmaType, SyntaxExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (TcSigmaType, SyntaxExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <(TcSigmaType, SyntaxExpr GhcTcId)>_R
:: IO (TcSigmaType, SyntaxExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, (TcSigmaType, SyntaxExpr GhcTcId) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (elt_ty_atFo, fl'_atFp) ->
(# ipv_aSMn,
(WpHole, elt_ty_atFo, Just @ (SyntaxExpr GhcTcId) fl'_atFp) #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(HsWrapper, TcType,
Maybe (SyntaxExpr GhcTc))>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv TcLclEnv>_R
<(HsWrapper, TcType,
Maybe
(SyntaxExpr
GhcTc))>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
(HsWrapper, TcType, Maybe (SyntaxExpr GhcTc)) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, TcType, Maybe (SyntaxExpr GhcTc)))
}
$wtc_poly_expr_nc [InlPrag=NOUSERINLINE[2]]
:: SrcSpan -> HsExpr GhcRn -> ExpSigmaType -> TcM (LHsExpr GhcTcId)
[GblId,
Arity=3,
Str=<S,U><L,U><L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=IF_ARGS [90 0 120] 570 120}]
$wtc_poly_expr_nc
= \ (ww_s16K3 :: SrcSpan)
(ww1_s16K4 :: HsExpr GhcRn)
(w_s16K0 :: ExpSigmaType) ->
let {
ds_sXk3 [Dmd=<L,C(C1(U(U,A)))>]
:: Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, () #)
[LclId]
ds_sXk3
= traceTc1 tcPolyExpr1 ($fOutputableExpType_$cppr w_s16K0) } in
let {
ds1_sXk2 [Dmd=<L,C(C1(U(U,1*U(1*U,1*U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, HsExpr GhcTcId)
[LclId]
ds1_sXk2
= case w_s16K0 of wild_aSjH {
Check ty_aSjJ ->
tcSkolemise
@ (HsExpr GhcTcId)
GenSigCtxt
ty_aSjJ
(\ _ [Occ=Dead] (x_aSjM [OS=OneShot] :: TcType) ->
tcExpr ww1_s16K4 (Check x_aSjM));
Infer ds2_aSjP ->
let {
ds3_sXk7 [Dmd=<L,C(C1(U(U,1*U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
[LclId]
ds3_sXk7 = tcExpr ww1_s16K4 wild_aSjH } in
(\ (b3_aSjR :: Env TcGblEnv TcLclEnv)
(s2_aSjS [OS=OneShot] :: State# RealWorld) ->
case (((ds3_sXk7
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
b3_aSjR)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, HsExpr GhcTcId #))))
s2_aSjS
of
{ (# ipv_aSjV, ipv1_aSjW #) ->
(# ipv_aSjV, (WpHole, ipv1_aSjW) #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(HsWrapper, HsExpr GhcTcId)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(HsWrapper,
HsExpr
GhcTcId)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (HsWrapper, HsExpr GhcTcId) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, HsExpr GhcTcId))
} } in
let {
f_sXk1 [Dmd=<L,C(C1(U))>]
:: Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked)) #)
[LclId,
Arity=2,
Str=<L,U><L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Tmpl= \ (env_aSMj [Occ=Once] :: Env TcGblEnv TcLclEnv)
(s2_aSMk [Occ=Once] :: State# RealWorld) ->
case (((ds1_sXk2
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsWrapper, HsExpr GhcTcId)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (HsWrapper, HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, HsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <(HsWrapper, HsExpr GhcTcId)>_R
:: IO (HsWrapper, HsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, HsExpr GhcTcId) #))))
s2_aSMk
of
{ (# ipv_aSMn [Occ=Once], ipv1_aSMo [Occ=Once!] #) ->
case ipv1_aSMo of
{ (wrap_arhw [Occ=Once], expr'_arhx [Occ=Once]) ->
(# ipv_aSMn,
L @ SrcSpan
@ (HsExpr (GhcPass 'Typechecked))
ww_s16K3
(mkHsWrap @ 'Typechecked wrap_arhw expr'_arhx) #)
}
}}]
f_sXk1
= \ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk [OS=OneShot] :: State# RealWorld) ->
case (((ds1_sXk2
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, HsExpr GhcTcId)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsWrapper, HsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <(HsWrapper, HsExpr GhcTcId)>_R
:: IO (HsWrapper, HsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, (HsWrapper, HsExpr GhcTcId) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (wrap_arhw, expr'_arhx) ->
(# ipv_aSMn,
L @ SrcSpan
@ (HsExpr (GhcPass 'Typechecked))
ww_s16K3
(mkHsWrap @ 'Typechecked wrap_arhw expr'_arhx) #)
}
} } in
case ww_s16K3 of {
RealSrcSpan real_loc_aEl6 ->
(\ (eta_aEl5 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
let {
env_sXk5 :: Env TcGblEnv TcLclEnv
[LclId]
env_sXk5
= case eta_aEl5 of { Env ds2_aEoz dt_aEoC ds3_aEoF ds4_aEoG ->
Env
@ TcGblEnv
@ TcLclEnv
ds2_aEoz
dt_aEoC
ds3_aEoF
(case ds4_aEoG of
{ TcLclEnv ds5_aEoL ds6_aEoM ds7_aEoN ds8_aEoO ds9_aEoP ds10_aEoR
ds11_aEoY ds12_aEoZ ds13_aEp0 ds14_aEp2 ds15_aEp3 ds16_aEp4 ->
TcLclEnv
real_loc_aEl6
ds6_aEoM
ds7_aEoN
ds8_aEoO
ds9_aEoP
ds10_aEoR
ds11_aEoY
ds12_aEoZ
ds13_aEp0
ds14_aEp2
ds15_aEp3
ds16_aEp4
})
} } in
case ds_sXk3 env_sXk5 eta1_B1 of { (# ipv_aTsT, ipv1_aTsU #) ->
f_sXk1 env_sXk5 ipv_aTsT
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<GenLocated
SrcSpan (HsExpr (GhcPass 'Typechecked))>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked)) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
(GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked))));
UnhelpfulSpan ds2_aEp8 ->
(\ (env_aTsP :: Env TcGblEnv TcLclEnv)
(s2_aTsQ :: State# RealWorld) ->
case ds_sXk3 env_aTsP s2_aTsQ of { (# ipv_aTsT, ipv1_aTsU #) ->
f_sXk1 env_aTsP ipv_aTsT
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<GenLocated
SrcSpan (HsExpr (GhcPass 'Typechecked))>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked)) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
(GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked))))
}
$wtcRecordField_r1b2n
:: ConLike
-> Assoc Name Type
-> SrcSpan
-> FieldOcc GhcRn
-> LHsExpr GhcRn
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, Maybe (LFieldOcc GhcTc, LHsExpr GhcTc) #)
[GblId,
Arity=7,
Str=<L,U><L,1*U><L,U><S,1*U><L,U(U,U)><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U,U,U,U,U,U,U),U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
$wtcRecordField_r1b2n
= \ (w_s16Kq :: ConLike)
(w1_s16Kr :: Assoc Name Type)
(ww_s16Ky :: SrcSpan)
(ww1_s16Kz :: FieldOcc GhcRn)
(w2_s16Kt :: LHsExpr GhcRn)
(w3_s16Ku :: Env TcGblEnv TcLclEnv)
(w4_s16Kv :: State# RealWorld) ->
case ww1_s16Kz of {
FieldOcc sel_name_atOs lbl_atOt ->
let {
field_lbl_sXkb [Dmd=<L,U(U,U,U,U,U,U,U)>] :: FastString
[LclId]
field_lbl_sXkb
= case lbl_atOt
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <RdrName>_N))))_R
:: GenLocated SrcSpan RdrName
~R# GenLocated SrcSpan (SrcSpanLess (GenLocated SrcSpan RdrName)))
of
{ L ds1_aDdY e_aDdZ ->
case e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0] <SrcSpan>_N <RdrName>_N)
:: SrcSpanLess (GenLocated SrcSpan RdrName) ~R# RdrName)
of {
Unqual occ_aDCk ->
case occ_aDCk of { OccName ds2_aDCa ds3_aDCb -> ds3_aDCb };
Qual ds2_aDCn occ_aDYn ->
case occ_aDYn of { OccName ds3_aDCa ds4_aDCb -> ds4_aDCb };
Orig ds2_aDYq occ_aDYt ->
case occ_aDYt of { OccName ds3_aDCa ds4_aDCb -> ds4_aDCb };
Exact name_aDYw ->
case name_aDYw of { Name ds2_aDYA ds3_aDYB dt_aDYC ds4_aDYD ->
case ds3_aDYB of { OccName ds5_s19cN ds6_s19cO -> ds6_s19cO }
}
}
} } in
join {
$j_sYiJ [Dmd=<L,U(U,U)>]
:: (# State# RealWorld, Maybe (LFieldOcc GhcTc, LHsExpr GhcTc) #)
[LclId[JoinId(0)]]
$j_sYiJ
= case ((((noinline
@ (TcM TidyEnv)
(tcInitTidyEnv1
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <TidyEnv>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<TidyEnv>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, TidyEnv #))
~R# IOEnv (Env TcGblEnv TcLclEnv) TidyEnv)))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <TidyEnv>_R
:: IOEnv (Env TcGblEnv TcLclEnv) TidyEnv
~R# (Env TcGblEnv TcLclEnv -> IO TidyEnv)))
w3_s16Ku)
`cast` (N:IO[0] <TidyEnv>_R
:: IO TidyEnv
~R# (State# RealWorld -> (# State# RealWorld, TidyEnv #))))
w4_s16Kv
of
{ (# ipv_aTHO, ipv1_aTHP #) ->
case addErrTc2
(ipv1_aTHP,
(badFieldCon1 w_s16Kq field_lbl_sXkb)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
w3_s16Ku
ipv_aTHO
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
(# ipv2_aTsT, Nothing @ (LFieldOcc GhcTc, LHsExpr GhcTc) #)
}
} } in
join {
$j1_sYiK [Dmd=<L,C(U(U,U))>]
:: Type
-> (# State# RealWorld, Maybe (LFieldOcc GhcTc, LHsExpr GhcTc) #)
[LclId[JoinId(1)], Arity=1, Str=<L,U>]
$j1_sYiK (field_ty_atOw [OS=OneShot] :: Type)
= case w2_s16Kt of { L ww3_s16K3 ww4_s16K4 ->
case (((($wtc_poly_expr_nc
ww3_s16K3 ww4_s16K4 (Check field_ty_atOw))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
(case w3_s16Ku of { Env ds_aTSz dt_aTSA ds1_aTSB ds2_aTSC ->
Env
@ TcGblEnv
@ TcLclEnv
ds_aTSz
dt_aTSA
ds1_aTSB
(case ds2_aTSC of
{ TcLclEnv ds3_aTSG ds4_aTSH ds5_aTSI ds6_aTSJ ds7_aTSK ds8_aTSL
ds9_aTSM ds10_aTSN ds11_aTSO ds12_aTSP ds13_aTSQ
ds14_aTSR ->
let {
lvl168_sXLr :: TextDetails
[LclId, Unf=OtherCon []]
lvl168_sXLr = PStr field_lbl_sXkb } in
let {
d53_sXkk [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<L,A>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)
Tmpl= \ _ [Occ=Dead] ->
case field_lbl_sXkb of
{ FastString _ [Occ=Dead] dt2_aSL2 [Occ=Once]
_ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead]
_ [Occ=Dead] _ [Occ=Dead] ->
TextBeside lvl168_sXLr dt2_aSL2 Empty
}}]
d53_sXkk
= \ _ [Occ=Dead] ->
case field_lbl_sXkb of
{ FastString dt1_aSL1 dt2_aSL2 dt3_aSL3 dt4_aSL4 dt5_aSL5
dt6_aSL6 dt7_aSL7 ->
TextBeside lvl168_sXLr dt2_aSL2 Empty
} } in
let {
msg_sXki :: SDocContext -> Doc
[LclId, Arity=1, Str=<L,U(U,U,U)>, Unf=OtherCon []]
msg_sXki
= \ (sty_XSOx :: SDocContext) ->
case s_r1aWC of { PtrString dt1_aUIW dt2_aUIX ->
case pprQuotedList2
(d53_sXkk
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc))
sty_XSOx
of wild4_aSI5 {
__DEFAULT ->
case d1_r1aWA of wild5_aSI6 {
__DEFAULT ->
Beside
(Beside wild5_aSI6 True wild4_aSI5)
True
(TextBeside (LStr dt1_aUIW dt2_aUIX) dt2_aUIX Empty);
Empty ->
Beside
wild4_aSI5
True
(TextBeside (LStr dt1_aUIW dt2_aUIX) dt2_aUIX Empty)
};
Empty ->
case d1_r1aWA of wild5_aSI6 {
__DEFAULT ->
Beside
wild5_aSI6
True
(TextBeside (LStr dt1_aUIW dt2_aUIX) dt2_aUIX Empty);
Empty ->
TextBeside (LStr dt1_aUIW dt2_aUIX) dt2_aUIX Empty
}
}
} } in
TcLclEnv
ds3_aTSG
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc))
(False,
(\ (env_aTST :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXki
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc) ~R# SDoc)) #))
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(TidyEnv,
MsgDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
MsgDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #))
~R# (TidyEnv
-> IOEnv
(Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc))))
ds4_aTSH)
ds5_aTSI
ds6_aTSJ
ds7_aTSK
ds8_aTSL
ds9_aTSM
ds10_aTSN
ds11_aTSO
ds12_aTSP
ds13_aTSQ
ds14_aTSR
})
}))
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, LHsExpr GhcTcId #))))
w4_s16Kv
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn,
Just
@ (GenLocated SrcSpan (FieldOcc GhcTc), LHsExpr GhcTcId)
(L @ SrcSpan
@ (FieldOcc GhcTc)
ww_s16Ky
(FieldOcc
@ GhcTc
(case sel_name_atOs
`cast` (Sub (D:R:XCFieldOccGhcPass0[0])
:: XCFieldOcc GhcRn ~R# Name)
of
{ Name ds_aJul ds2_aJum dt_aJun ds3_aJuo ->
case ww_s16Ky of dt3_aJuh { __DEFAULT ->
(Id
(Name Internal ds2_aJum dt_aJun dt3_aJuh)
dt_aJun
field_ty_atOw
mkCoVar1
VanillaId
vanillaIdInfo)
`cast` (Sub (Sym (D:R:XCFieldOccGhcPass[0]))
:: Id ~R# XCFieldOcc GhcTc)
}
})
lbl_atOt),
ipv1_aSMo) #)
}
} } in
joinrec {
lookup_sXka [Occ=LoopBreaker]
:: [(Name, Type)]
-> (# State# RealWorld, Maybe (LFieldOcc GhcTc, LHsExpr GhcTc) #)
[LclId[JoinId(1)], Arity=1, Str=<S,1*U>, Unf=OtherCon []]
lookup_sXka (ds_aJuG :: [(Name, Type)])
= case ds_aJuG of {
[] -> jump $j_sYiJ;
: ds1_aJuK rest_aJuL ->
case ds1_aJuK of { (tv_aJuP, ty_aJuQ) ->
case sel_name_atOs
`cast` (Sub (D:R:XCFieldOccGhcPass0[0])
:: XCFieldOcc GhcRn ~R# Name)
of
{ Name ds2_aUI0 ds3_aUI1 dt_aUI2 ds4_aUI3 ->
case tv_aJuP of { Name ds5_aUI7 ds6_aUI8 dt1_aUI9 ds7_aUIa ->
case ==# dt_aUI2 dt1_aUI9 of {
__DEFAULT -> jump lookup_sXka rest_aJuL;
1# -> jump $j1_sYiK ty_aJuQ
}
}
}
}
}; } in
jump lookup_sXka w1_s16Kr;
XFieldOcc ds_dJvi ->
(((lvl5_r1aWF
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<Maybe (LFieldOcc GhcTc, LHsExpr GhcTc)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (Maybe (LFieldOcc GhcTc, LHsExpr GhcTc))
~R# (Env TcGblEnv TcLclEnv
-> IO (Maybe (LFieldOcc GhcTc, LHsExpr GhcTc)))))
w3_s16Ku)
`cast` (N:IO[0] <Maybe (LFieldOcc GhcTc, LHsExpr GhcTc)>_R
:: IO (Maybe (LFieldOcc GhcTc, LHsExpr GhcTc))
~R# (State# RealWorld
-> (# State# RealWorld,
Maybe (LFieldOcc GhcTc, LHsExpr GhcTc) #))))
w4_s16Kv
}
$wtcMonoExprNC [InlPrag=NOUSERINLINE[2]]
:: SrcSpan -> HsExpr GhcRn -> ExpRhoType -> TcM (LHsExpr GhcTcId)
[GblId,
Arity=3,
Str=<S,1*U><L,1*U><L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [80 0 0] 200 120}]
$wtcMonoExprNC
= \ (ww_s16KG :: SrcSpan)
(ww1_s16KH :: HsExpr GhcRn)
(w_s16KD :: ExpRhoType) ->
let {
ds_sXjT [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
[LclId]
ds_sXjT = tcExpr ww1_s16KH w_s16KD } in
case ww_s16KG of wild_aEkZ {
RealSrcSpan real_loc_aEl6 ->
(\ (eta_aEl5 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case (((ds_sXjT
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
(case eta_aEl5 of { Env ds1_aEoz dt_aEoC ds2_aEoF ds3_aEoG ->
Env
@ TcGblEnv
@ TcLclEnv
ds1_aEoz
dt_aEoC
ds2_aEoF
(case ds3_aEoG of
{ TcLclEnv ds4_aEoL ds5_aEoM ds6_aEoN ds7_aEoO ds8_aEoP ds9_aEoR
ds10_aEoY ds11_aEoZ ds12_aEp0 ds13_aEp2 ds14_aEp3 ds15_aEp4 ->
TcLclEnv
real_loc_aEl6
ds5_aEoM
ds6_aEoN
ds7_aEoO
ds8_aEoP
ds9_aEoR
ds10_aEoY
ds11_aEoZ
ds12_aEp0
ds13_aEp2
ds14_aEp3
ds15_aEp4
})
}))
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
eta1_B1
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn, L @ SrcSpan @ (HsExpr GhcTcId) wild_aEkZ ipv1_aSMo #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<GenLocated SrcSpan (HsExpr GhcTcId)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<GenLocated
SrcSpan
(HsExpr
GhcTcId)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, GenLocated SrcSpan (HsExpr GhcTcId) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsExpr GhcTcId)));
UnhelpfulSpan ds1_aEp8 ->
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds_sXjT
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn, L @ SrcSpan @ (HsExpr GhcTcId) wild_aEkZ ipv1_aSMo #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<GenLocated SrcSpan (HsExpr GhcTcId)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<GenLocated
SrcSpan
(HsExpr
GhcTcId)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, GenLocated SrcSpan (HsExpr GhcTcId) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsExpr GhcTcId)))
}
tcMonoExpr :: LHsExpr GhcRn -> ExpRhoType -> TcM (LHsExpr GhcTcId)
[GblId,
Arity=2,
Str=<L,U(U,U)><L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 230 60}]
tcMonoExpr
= \ (expr_aroM :: LHsExpr GhcRn) (res_ty_aroN :: ExpRhoType) ->
let {
msg_sXjV :: SDocContext -> Doc
[LclId]
msg_sXjV = addExprErrCtxt2 expr_aroM } in
let {
lvl168_sYiW
:: TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #)
[LclId,
Arity=3,
Str=<L,U><L,A><L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=True)
Tmpl= \ (env_aTST [Occ=Once] :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV [Occ=Once] :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXjV
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #)}]
lvl168_sYiW
= \ (env_aTST :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXjV
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #) } in
let {
lvl169_sXLj
:: (Bool,
TidyEnv -> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc))
[LclId, Unf=OtherCon []]
lvl169_sXLj
= (False,
lvl168_sYiW
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(TidyEnv, MsgDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
MsgDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #))
~R# (TidyEnv
-> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc)))) } in
let {
eta_sXjX [Dmd=<L,C(U)>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
[LclId]
eta_sXjX
= case expr_aroM of { L ww1_s16KG ww2_s16KH ->
$wtcMonoExprNC ww1_s16KG ww2_s16KH res_ty_aroN
} } in
(\ (eta1_aTSw :: Env TcGblEnv TcLclEnv) ->
(eta_sXjX
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
(case eta1_aTSw of { Env ds_aTSz dt_aTSA ds1_aTSB ds2_aTSC ->
Env
@ TcGblEnv
@ TcLclEnv
ds_aTSz
dt_aTSA
ds1_aTSB
(case ds2_aTSC of
{ TcLclEnv ds3_aTSG ds4_aTSH ds5_aTSI ds6_aTSJ ds7_aTSK ds8_aTSL
ds9_aTSM ds10_aTSN ds11_aTSO ds12_aTSP ds13_aTSQ ds14_aTSR ->
TcLclEnv
ds3_aTSG
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc)) lvl169_sXLj ds4_aTSH)
ds5_aTSI
ds6_aTSJ
ds7_aTSK
ds8_aTSL
ds9_aTSM
ds10_aTSN
ds11_aTSO
ds12_aTSP
ds13_aTSQ
ds14_aTSR
})
}))
`cast` (Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))
~R# IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId))
$wtcInferRhoNC [InlPrag=NOUSERINLINE[2]]
:: SrcSpan
-> HsExpr GhcRn
-> HscEnv
-> MutVar# RealWorld UniqSupply
-> TcGblEnv
-> TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcRhoType) #)
[GblId,
Arity=7,
Str=<S,U><L,U><L,U><L,U><L,U><L,U(U,U,U(U),U,U,U,U,U,U,U,U,U)><L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=IF_ARGS [0 0 0 0 0 0 0] 230 30}]
$wtcInferRhoNC
= \ (ww_s16Ck :: SrcSpan)
(ww1_s16Cl :: HsExpr GhcRn)
(ww2_s16Cp
:: HscEnv
Unf=OtherCon [])
(ww3_s16Cq :: MutVar# RealWorld UniqSupply)
(ww4_s16Cr :: TcGblEnv)
(ww5_s16Cs :: TcLclEnv)
(w_s16Ch :: State# RealWorld) ->
case $wtcInferSigmaNC
ww_s16Ck ww1_s16Cl ww2_s16Cp ww3_s16Cq ww4_s16Cr ww5_s16Cs w_s16Ch
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (expr'_aroZ, sigma_arp0) ->
case ((((top_instantiate True (exprCtOrigin ww1_s16Cl) sigma_arp0)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
~R# (Env TcGblEnv TcLclEnv -> IO (HsWrapper, TcRhoType))))
(Env
@ TcGblEnv @ TcLclEnv ww2_s16Cp ww3_s16Cq ww4_s16Cr ww5_s16Cs))
`cast` (N:IO[0] <(HsWrapper, TcRhoType)>_R
:: IO (HsWrapper, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsWrapper, TcRhoType) #))))
ipv_aSMn
of
{ (# ipv2_XSSd, ipv3_XSSf #) ->
case ipv3_XSSf of { (wrap_arp1, rho_arp2) ->
(# ipv2_XSSd,
(mkLHsWrap @ 'Typechecked wrap_arp1 expr'_aroZ, rho_arp2) #)
}
}
}
}
tcInferRho :: LHsExpr GhcRn -> TcM (LHsExpr GhcTcId, TcRhoType)
[GblId,
Arity=1,
Str=<L,U(U,U)>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 220 60}]
tcInferRho
= \ (expr_aroX :: LHsExpr GhcRn) ->
let {
msg_sXkX :: SDocContext -> Doc
[LclId]
msg_sXkX = addExprErrCtxt2 expr_aroX } in
let {
lvl168_sYhi
:: TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #)
[LclId,
Arity=3,
Str=<L,U><L,A><L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=True)
Tmpl= \ (env_aTST [Occ=Once] :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV [Occ=Once] :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXkX
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #)}]
lvl168_sYhi
= \ (env_aTST :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXkX
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #) } in
let {
lvl169_sXM2
:: (Bool,
TidyEnv -> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc))
[LclId, Unf=OtherCon []]
lvl169_sXM2
= (False,
lvl168_sYhi
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(TidyEnv, MsgDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
MsgDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #))
~R# (TidyEnv
-> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc)))) } in
(\ (eta1_aTSw :: Env TcGblEnv TcLclEnv)
(eta_B1 :: State# RealWorld) ->
case expr_aroX of { L ww1_s16Ck ww2_s16Cl ->
case eta1_aTSw of { Env ds_aTSz dt_aTSA ds1_aTSB ds2_aTSC ->
$wtcInferRhoNC
ww1_s16Ck
ww2_s16Cl
ds_aTSz
dt_aTSA
ds1_aTSB
(case ds2_aTSC of
{ TcLclEnv ds3_aTSG ds4_aTSH ds5_aTSI ds6_aTSJ ds7_aTSK ds8_aTSL
ds9_aTSM ds10_aTSN ds11_aTSO ds12_aTSP ds13_aTSQ ds14_aTSR ->
TcLclEnv
ds3_aTSG
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc)) lvl169_sXM2 ds4_aTSH)
ds5_aTSI
ds6_aTSJ
ds7_aTSK
ds8_aTSL
ds9_aTSM
ds10_aTSN
ds11_aTSO
ds12_aTSP
ds13_aTSQ
ds14_aTSR
})
eta_B1
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(LHsExpr GhcTcId, TcRhoType)>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(LHsExpr GhcTcId,
TcRhoType)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcRhoType) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcRhoType))
tcPolyExpr :: LHsExpr GhcRn -> TcSigmaType -> TcM (LHsExpr GhcTcId)
[GblId,
Arity=2,
Str=<L,U(U,U)><L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 490 60}]
tcPolyExpr
= \ (expr_arhm :: LHsExpr GhcRn) (res_ty_arhn :: TcSigmaType) ->
let {
msg_sXkt :: SDocContext -> Doc
[LclId]
msg_sXkt = addExprErrCtxt2 expr_arhm } in
let {
lvl168_sYi6
:: TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #)
[LclId,
Arity=3,
Str=<L,U><L,A><L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=True)
Tmpl= \ (env_aTST [Occ=Once] :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV [Occ=Once] :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXkt
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #)}]
lvl168_sYi6
= \ (env_aTST :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV :: State# RealWorld) ->
(# eta3_aTSV,
(env_aTST,
msg_sXkt
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) #) } in
let {
lvl169_sXLF
:: (Bool,
TidyEnv -> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc))
[LclId, Unf=OtherCon []]
lvl169_sXLF
= (False,
lvl168_sYi6
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(TidyEnv, MsgDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
MsgDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #))
~R# (TidyEnv
-> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc)))) } in
let {
ds_sXks [Dmd=<L,C(C1(U(U,A)))>]
:: Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, () #)
[LclId]
ds_sXks
= traceTc1
tcPolyExpr3
((\ (sty_aUDX :: SDocContext) ->
case $fOutputableTyCoBinder3
emptyTidyEnv
($fShowFractionalLit2
`cast` (Sym (N:PprPrec[0]) :: Int ~R# PprPrec))
res_ty_arhn
sty_aUDX
of wild1_aUE0 {
__DEFAULT ->
case $fOutputableExpType_d1 of {
__DEFAULT ->
Beside
$fOutputableExpType_d1
False
(Beside (Beside $fOutputableSet2 False wild1_aUE0) False rbrace);
Empty ->
Beside (Beside $fOutputableSet2 False wild1_aUE0) False rbrace
};
Empty ->
case $fOutputableExpType_d1 of {
__DEFAULT -> $fOutputableExpType2;
Empty -> $fOutputableExpType1
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)) } in
let {
f_sXkr [Dmd=<L,C(C1(U))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
[LclId]
f_sXkr
= case expr_arhm of { L ww1_s16K3 ww2_s16K4 ->
$wtc_poly_expr_nc ww1_s16K3 ww2_s16K4 (Check res_ty_arhn)
} } in
(\ (eta1_aTSw :: Env TcGblEnv TcLclEnv)
(eta_B1 :: State# RealWorld) ->
let {
env_sXkv :: Env TcGblEnv TcLclEnv
[LclId]
env_sXkv
= case eta1_aTSw of { Env ds1_aTSz dt_aTSA ds2_aTSB ds3_aTSC ->
Env
@ TcGblEnv
@ TcLclEnv
ds1_aTSz
dt_aTSA
ds2_aTSB
(case ds3_aTSC of
{ TcLclEnv ds4_aTSG ds5_aTSH ds6_aTSI ds7_aTSJ ds8_aTSK ds9_aTSL
ds10_aTSM ds11_aTSN ds12_aTSO ds13_aTSP ds14_aTSQ ds15_aTSR ->
TcLclEnv
ds4_aTSG
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc)) lvl169_sXLF ds5_aTSH)
ds6_aTSI
ds7_aTSJ
ds8_aTSK
ds9_aTSL
ds10_aTSM
ds11_aTSN
ds12_aTSO
ds13_aTSP
ds14_aTSQ
ds15_aTSR
})
} } in
case ds_sXks env_sXkv eta_B1 of { (# ipv_aTsT, ipv1_aTsU #) ->
(((f_sXkr
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
env_sXkv)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, LHsExpr GhcTcId #))))
ipv_aTsT
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <LHsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<LHsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, LHsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId))
lvl167_r1b2o
:: (GenLocated SrcSpan (HsTupArg GhcRn), TcSigmaType)
-> IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)]
-> IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)]
[GblId,
Arity=2,
Str=<L,1*U(1*U(U,1*U),U)><L,C(C1(U(U,U)))>,
Unf=OtherCon []]
lvl167_r1b2o
= \ (x_XTKw :: (GenLocated SrcSpan (HsTupArg GhcRn), TcSigmaType))
(ys_XTKy
:: IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)]) ->
let {
x1_sXkD [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsTupArg GhcTcId))
[LclId]
x1_sXkD
= case x_XTKw of { (ds_dJES, arg_ty_atHW) ->
case ds_dJES of { L l_atHV ds1_dJET ->
case ds1_dJET of {
Present x2_atHY expr_atHZ ->
let {
ds2_sXky [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
[LclId]
ds2_sXky = tcPolyExpr expr_atHZ arg_ty_atHW } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk [OS=OneShot] :: State# RealWorld) ->
case (((ds2_sXky
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, LHsExpr GhcTcId #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn,
L @ SrcSpan
@ (HsTupArg GhcTcId)
l_atHV
(Present
@ GhcTcId
(x2_atHY
`cast` (Sub (D:R:XPresentGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XPresentGhcPass[0]
<'Typechecked>_N))
:: XPresent (GhcPass 'Renamed)
~R# XPresent (GhcPass 'Typechecked)))
ipv1_aSMo) #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<GenLocated SrcSpan (HsTupArg GhcTcId)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<GenLocated
SrcSpan
(HsTupArg
GhcTcId)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, GenLocated SrcSpan (HsTupArg GhcTcId) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsTupArg GhcTcId)));
Missing ds2_dJEU ->
let {
a1_sXkC :: HsTupArg GhcTcId
[LclId, Unf=OtherCon []]
a1_sXkC
= Missing
@ GhcTcId
(arg_ty_atHW
`cast` (Sub (Sym (D:R:XMissingGhcPass[0]))
:: Type ~R# XMissing GhcTc)) } in
let {
a2_sXkB :: GenLocated SrcSpan (HsTupArg GhcTcId)
[LclId, Unf=OtherCon []]
a2_sXkB = L @ SrcSpan @ (HsTupArg GhcTcId) l_atHV a1_sXkC } in
(\ _ [Occ=Dead] (s2_aTtO [OS=OneShot] :: State# RealWorld) ->
(# s2_aTtO, a2_sXkB #))
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<GenLocated SrcSpan (HsTupArg GhcTcId)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<GenLocated
SrcSpan
(HsTupArg
GhcTcId)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, GenLocated SrcSpan (HsTupArg GhcTcId) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsTupArg GhcTcId)));
XTupArg ds2_dJEV -> lvl8_r1aWI
}
}
} } in
(\ (eta1_aTz4 :: Env TcGblEnv TcLclEnv)
(eta2_aTz5 :: State# RealWorld) ->
case (((x1_sXkD
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <GenLocated SrcSpan (HsTupArg GhcTcId)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (GenLocated SrcSpan (HsTupArg GhcTcId))
~R# (Env TcGblEnv TcLclEnv
-> IO (GenLocated SrcSpan (HsTupArg GhcTcId)))))
eta1_aTz4)
`cast` (N:IO[0] <GenLocated SrcSpan (HsTupArg GhcTcId)>_R
:: IO (GenLocated SrcSpan (HsTupArg GhcTcId))
~R# (State# RealWorld
-> (# State# RealWorld, GenLocated SrcSpan (HsTupArg GhcTcId) #))))
eta2_aTz5
of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case (((ys_XTKy
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<[GenLocated SrcSpan (HsTupArg GhcTcId)]>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)]
~R# (Env TcGblEnv TcLclEnv
-> IO [GenLocated SrcSpan (HsTupArg GhcTcId)])))
eta1_aTz4)
`cast` (N:IO[0] <[GenLocated SrcSpan (HsTupArg GhcTcId)]>_R
:: IO [GenLocated SrcSpan (HsTupArg GhcTcId)]
~R# (State# RealWorld
-> (# State# RealWorld,
[GenLocated SrcSpan (HsTupArg GhcTcId)] #))))
ipv_aTz8
of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd,
: @ (GenLocated SrcSpan (HsTupArg GhcTcId)) ipv1_aTz9 ipv3_aTze #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[GenLocated SrcSpan (HsTupArg GhcTcId)]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[GenLocated
SrcSpan
(HsTupArg
GhcTcId)]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [GenLocated SrcSpan (HsTupArg GhcTcId)] #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)])
$wtcArg_r1b2p
:: LHsExpr GhcRn
-> SrcSpan
-> HsExpr GhcRn
-> TcRhoType
-> Int
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, LHsExpr GhcTcId #)
[GblId,
Arity=7,
Str=<L,U><S,U><L,U><L,U><L,1*U(1*U)><L,1*U(U,U,U,1*U(U,U,U,U,U,U,U,U,U,U,U,U))><L,U>,
Unf=OtherCon []]
$wtcArg_r1b2p
= \ (w_s16K7 :: LHsExpr GhcRn)
(ww_s16Kf :: SrcSpan)
(ww1_s16Kg :: HsExpr GhcRn)
(w1_s16K9 :: TcRhoType)
(w2_s16Ka :: Int)
(w3_s16Kb :: Env TcGblEnv TcLclEnv)
(w4_s16Kc :: State# RealWorld) ->
(((($wtc_poly_expr_nc ww_s16Kf ww1_s16Kg (Check w1_s16K9))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
(case w3_s16Kb of { Env ds_aTSz dt_aTSA ds1_aTSB ds2_aTSC ->
Env
@ TcGblEnv
@ TcLclEnv
ds_aTSz
dt_aTSA
ds1_aTSB
(case ds2_aTSC of
{ TcLclEnv ds3_aTSG ds4_aTSH ds5_aTSI ds6_aTSJ ds7_aTSK ds8_aTSL
ds9_aTSM ds10_aTSN ds11_aTSO ds12_aTSP ds13_aTSQ ds14_aTSR ->
let {
msg_sXkF :: MsgDoc
[LclId]
msg_sXkF
= funAppCtxt
@ (LHsExpr GhcRn)
@ (LHsExpr GhcRn)
$s$fOutputableGenLocated
$s$fOutputableGenLocated
w_s16K7
(L @ SrcSpan @ (HsExpr GhcRn) ww_s16Kf ww1_s16Kg)
w2_s16Ka } in
TcLclEnv
ds3_aTSG
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc))
(False,
(\ (env_aTST :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV :: State# RealWorld) ->
(# eta3_aTSV, (env_aTST, msg_sXkF) #))
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(TidyEnv, MsgDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
MsgDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #))
~R# (TidyEnv -> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc))))
ds4_aTSH)
ds5_aTSI
ds6_aTSJ
ds7_aTSK
ds8_aTSL
ds9_aTSM
ds10_aTSN
ds11_aTSO
ds12_aTSP
ds13_aTSQ
ds14_aTSR
})
}))
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, LHsExpr GhcTcId #))))
w4_s16Kc
go23_r1b2q
:: [GenLocated SrcSpan (HsTupArg GhcRn)]
-> [Type]
-> IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)]
[GblId, Arity=2, Str=<S,1*U><L,1*U>, Unf=OtherCon []]
go23_r1b2q
= \ (ds_aSGL :: [GenLocated SrcSpan (HsTupArg GhcRn)])
(_ys_aSGM :: [Type]) ->
case ds_aSGL of {
[] ->
lvl9_r1aWJ
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[GenLocated SrcSpan (HsTupArg GhcTcId)]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[GenLocated
SrcSpan
(HsTupArg
GhcTcId)]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [GenLocated SrcSpan (HsTupArg GhcTcId)] #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)]);
: ipv_aSGR ipv1_aSGS ->
case _ys_aSGM of {
[] ->
lvl9_r1aWJ
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[GenLocated SrcSpan (HsTupArg GhcTcId)]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[GenLocated
SrcSpan
(HsTupArg
GhcTcId)]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [GenLocated SrcSpan (HsTupArg GhcTcId)] #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) [GenLocated SrcSpan (HsTupArg GhcTcId)]);
: ipv2_aSGY ipv3_aSGZ ->
lvl167_r1b2o (ipv_aSGR, ipv2_aSGY) (go23_r1b2q ipv1_aSGS ipv3_aSGZ)
}
}
tcSyntaxOpGen [Occ=LoopBreaker]
:: forall a.
CtOrigin
-> SyntaxExpr GhcRn
-> [SyntaxOpType]
-> SyntaxOpType
-> ([TcSigmaType] -> TcM a)
-> TcM (a, SyntaxExpr GhcTcId)
[GblId,
Arity=5,
Str=<L,U><L,U(U,U,U)><L,U><L,U><L,C(C(C1(U(U,U))))>,
Unf=OtherCon []]
tcSyntaxOpGen
= \ (@ a_aBVD)
(orig_XtNW :: CtOrigin)
(op_XtNY :: SyntaxExpr GhcRn)
(arg_tys_XtO0 :: [SyntaxOpType])
(res_ty_XtO2 :: SyntaxOpType)
(thing_inside_XtO4 :: [TcSigmaType] -> TcM a_aBVD) ->
let {
ds_sXkN [Dmd=<L,C(C1(U(U,1*U(U(U,U),U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType)
[LclId]
ds_sXkN
= tcInferSigma
((L @ SrcSpan
@ (SrcSpanLess (LHsExpr GhcRn))
noSrcSpan
(case op_XtNY of { SyntaxExpr ds1_aK6i ds2_aK6j ds3_aK6k ->
ds1_aK6i
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))
:: HsExpr GhcRn
~R# SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn)))
}))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)))_R
:: GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn)))
~R# GenLocated SrcSpan (HsExpr GhcRn))) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds_sXkN
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(LHsExpr GhcTcId, TcSigmaType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId, TcSigmaType))))
env_aSMj)
`cast` (N:IO[0] <(LHsExpr GhcTcId, TcSigmaType)>_R
:: IO (LHsExpr GhcTcId, TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (expr_atIb, sigma_atIc) ->
case traceTc1
lvl11_r1aWL
(let {
d53_sXkM [Dmd=<L,C(U)>] :: SDoc
[LclId]
d53_sXkM
= case expr_atIb of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcTcId)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr1
ww1_aTSp
ww2_aTSq
} } in
let {
d54_sXkL [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLS(LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)),U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=OtherCon []]
d54_sXkL
= \ (sty_aTHT :: SDocContext) ->
case (d53_sXkM `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aTHT
of wild1_aTHU {
__DEFAULT ->
case $fOutputableSyntaxExpr2
@ (GhcPass 'Renamed)
@ 'Renamed
$spprMatches4
($d(%,,,,,,%)1_r1b1h
`cast` (((%,,,,,,%)
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_N
(OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_N
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_N
(OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
((~)
<*>_N
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N))
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N)))_N
((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N
((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N)_R
:: (OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, OutputableBndr Name,
GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
~R# (OutputableBndr (NameOrRdrName (IdP GhcRn)),
OutputableBndr (IdP GhcRn),
OutputableBndr
(NameOrRdrName
(IdP (NoGhcTc (GhcPass 'Renamed)))),
OutputableBndr
(IdP (NoGhcTc (GhcPass 'Renamed))),
NoGhcTc (GhcPass 'Renamed)
~ NoGhcTc (NoGhcTc (GhcPass 'Renamed)),
(Outputable (XIPBinds GhcRn),
Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn)),
(Outputable
(XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable
(XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn)))))
op_XtNY
sty_aTHT
of wild2_aTHV {
__DEFAULT -> Above wild2_aTHV False wild1_aTHU;
Empty -> wild1_aTHU
};
Empty ->
$fOutputableSyntaxExpr2
@ (GhcPass 'Renamed)
@ 'Renamed
$spprMatches4
($d(%,,,,,,%)1_r1b1h
`cast` (((%,,,,,,%)
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_N
(OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_N
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_N
(OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
((~)
<*>_N
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N))
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N)))_N
((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N
((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N)_R
:: (OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, OutputableBndr Name,
GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
~R# (OutputableBndr (NameOrRdrName (IdP GhcRn)),
OutputableBndr (IdP GhcRn),
OutputableBndr
(NameOrRdrName
(IdP (NoGhcTc (GhcPass 'Renamed)))),
OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed))),
NoGhcTc (GhcPass 'Renamed)
~ NoGhcTc (NoGhcTc (GhcPass 'Renamed)),
(Outputable (XIPBinds GhcRn),
Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn)),
(Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable
(XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn)))))
op_XtNY
sty_aTHT
} } in
(\ (sty_XTO8 :: SDocContext) ->
case $fOutputableTyCoBinder3
emptyTidyEnv
($fShowFractionalLit2
`cast` (Sym (N:PprPrec[0]) :: Int ~R# PprPrec))
sigma_atIc
sty_XTO8
of wild1_aTHU {
__DEFAULT ->
case d54_sXkL sty_XTO8 of wild2_aTHV {
__DEFAULT -> Above wild2_aTHV False wild1_aTHU;
Empty -> wild1_aTHU
};
Empty -> d54_sXkL sty_XTO8
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
env_aSMj
ipv_aSMn
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
case tcSynArgA_r1b0G
@ a_aBVD
orig_XtNW
sigma_atIc
arg_tys_XtO0
res_ty_XtO2
thing_inside_XtO4
env_aSMj
ipv2_aTsT
of
{ (# ipv4_XSSB, ipv5_XSSD #) ->
case ipv5_XSSD of
{ (result_atId, expr_wrap_atIe, arg_wraps_atIf, res_wrap_atIg) ->
case traceTc1
lvl11_r1aWL
(let {
d53_sXkR [Dmd=<L,C(U)>] :: SDoc
[LclId]
d53_sXkR
= case expr_atIb of { L ww1_aTSp ww2_aTSq ->
$w$cppr
@ SrcSpan
@ (HsExpr GhcTcId)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr1
ww1_aTSp
ww2_aTSq
} } in
let {
d54_sXkQ [Dmd=<L,C(U)>] :: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLS(LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)),U(U,U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U))>,
Unf=OtherCon []]
d54_sXkQ
= \ (sty_aTHT :: SDocContext) ->
case (d53_sXkR `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
sty_aTHT
of wild2_aTHU {
__DEFAULT ->
case $fOutputableSyntaxExpr2
@ (GhcPass 'Renamed)
@ 'Renamed
$spprMatches4
($d(%,,,,,,%)1_r1b1h
`cast` (((%,,,,,,%)
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_N
(OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_N
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_N
(OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
((~)
<*>_N
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N))
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N)))_N
((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N
((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N)_R
:: (OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, OutputableBndr Name,
GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
~R# (OutputableBndr (NameOrRdrName (IdP GhcRn)),
OutputableBndr (IdP GhcRn),
OutputableBndr
(NameOrRdrName
(IdP (NoGhcTc (GhcPass 'Renamed)))),
OutputableBndr
(IdP (NoGhcTc (GhcPass 'Renamed))),
NoGhcTc (GhcPass 'Renamed)
~ NoGhcTc (NoGhcTc (GhcPass 'Renamed)),
(Outputable (XIPBinds GhcRn),
Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn)),
(Outputable
(XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable
(XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn)))))
op_XtNY
sty_aTHT
of wild3_aTHV {
__DEFAULT -> Above wild3_aTHV False wild2_aTHU;
Empty -> wild2_aTHU
};
Empty ->
$fOutputableSyntaxExpr2
@ (GhcPass 'Renamed)
@ 'Renamed
$spprMatches4
($d(%,,,,,,%)1_r1b1h
`cast` (((%,,,,,,%)
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0])))_N))_N
(OutputableBndr (Sym (D:R:IdPGhcPass0[0])))_N
(OutputableBndr
(Sym (D:R:NameOrRdrName[1]) ; (NameOrRdrName
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N))_N
(OutputableBndr
(Sym (D:R:IdPGhcPass0[0]) ; (IdP
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
((~)
<*>_N
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N))
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; (Sym (D:R:NoGhcTc[0]
<'Renamed>_N) ; (NoGhcTc
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N)))_N
((%,,%)
(Outputable (Sym (D:R:XIPBindsGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N
(Outputable (Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N
((%,,%)
(Outputable
(Sym (D:R:XIPBindsGhcPass0[0]) ; (XIPBinds
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0]) ; (XViaStrategy
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N))_N
(Outputable
(Sym (D:R:XViaStrategyGhcPass0[0])))_N)_N)_R
:: (OutputableBndr Name, OutputableBndr Name,
OutputableBndr Name, OutputableBndr Name,
GhcPass 'Renamed ~ GhcPass 'Renamed,
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)),
(Outputable NoExt, Outputable (LHsSigType GhcRn),
Outputable (LHsSigType GhcRn)))
~R# (OutputableBndr (NameOrRdrName (IdP GhcRn)),
OutputableBndr (IdP GhcRn),
OutputableBndr
(NameOrRdrName
(IdP (NoGhcTc (GhcPass 'Renamed)))),
OutputableBndr (IdP (NoGhcTc (GhcPass 'Renamed))),
NoGhcTc (GhcPass 'Renamed)
~ NoGhcTc (NoGhcTc (GhcPass 'Renamed)),
(Outputable (XIPBinds GhcRn),
Outputable (XViaStrategy GhcRn),
Outputable (XViaStrategy GhcRn)),
(Outputable (XIPBinds (NoGhcTc (GhcPass 'Renamed))),
Outputable
(XViaStrategy (NoGhcTc (GhcPass 'Renamed))),
Outputable (XViaStrategy GhcRn)))))
op_XtNY
sty_aTHT
} } in
(\ (sty_XTOs :: SDocContext) ->
case $fOutputableTyCoBinder3
emptyTidyEnv
($fShowFractionalLit2
`cast` (Sym (N:PprPrec[0]) :: Int ~R# PprPrec))
sigma_atIc
sty_XTOs
of wild2_aTHU {
__DEFAULT ->
case d54_sXkQ sty_XTOs of wild3_aTHV {
__DEFAULT -> Above wild3_aTHV False wild2_aTHU;
Empty -> wild2_aTHU
};
Empty -> d54_sXkQ sty_XTOs
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
env_aSMj
ipv4_XSSB
of
{ (# ipv6_XTz7, ipv7_XTz9 #) ->
(# ipv6_XTz7,
(result_atId,
SyntaxExpr
@ (GhcPass 'Typechecked)
(case expr_atIb
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr (GhcPass 'Typechecked)>_N))))_R
:: GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (HsExpr (GhcPass 'Typechecked)))))
of
{ L ds5_aDdY e_aDdZ ->
mkHsWrap
@ 'Typechecked
expr_wrap_atIe
(e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcTcId>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcTcId))
~R# HsExpr GhcTcId))
})
arg_wraps_atIf
res_wrap_atIg) #)
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(a_aBVD, SyntaxExpr GhcTcId)>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(a_aBVD,
SyntaxExpr GhcTcId)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (a_aBVD, SyntaxExpr GhcTcId) #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (a_aBVD, SyntaxExpr GhcTcId))
tcExpr [Occ=LoopBreaker]
:: HsExpr GhcRn -> ExpRhoType -> TcM (HsExpr GhcTcId)
[GblId, Arity=2, Str=<S,1*U><L,U>, Unf=OtherCon []]
tcExpr
= \ (ds_dK9Q :: HsExpr GhcRn) (res_ty_arp4 :: ExpRhoType) ->
case ds_dK9Q of wild_X5R {
__DEFAULT -> lvl131_r1b12 wild_X5R;
HsVar ds1_dShh ds2_dShi ->
case ds2_dShi of { L ds3_dShj name_arp3 ->
tcCheckId
(name_arp3 `cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name))
res_ty_arp4
};
HsUnboundVar ds1_dShk uv_arp6 ->
let {
occ_sXO8 :: OccName
[LclId]
occ_sXO8
= case uv_arp6 of {
OutOfScope occ1_aIOD ds2_aIOE -> occ1_aIOD;
TrueExprHole occ1_aIOH -> occ1_aIOH
} } in
let {
lvl168_sXOa :: CtOrigin
[LclId, Unf=OtherCon []]
lvl168_sXOa = UnboundOccurrenceOf occ_sXO8 } in
let {
lvl169_sXO9 :: Hole
[LclId, Unf=OtherCon []]
lvl169_sXO9 = ExprHole uv_arp6 } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case env_aSMj of ww_aV5x
{ Env ww1_aV5A ww2_aV5B ww3_aV5C ww4_aV5D ->
case $wnewOpenFlexiTyVarTy
ww1_aV5A ww2_aV5B ww3_aV5C ww4_aV5D s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case readMutVar# @ RealWorld @ UniqSupply ww2_aV5B ipv_aSMn of
{ (# ipv2_aV5V, ipv3_aV5W #) ->
case ipv3_aV5W of { MkSplitUniqSupply dt1_aV65 s3_aV66 ds5_aV67 ->
case writeMutVar#
@ RealWorld @ UniqSupply ww2_aV5B s3_aV66 ipv2_aV5V
of s2#_aV69
{ __DEFAULT ->
let {
ev_sXnQ :: Id
[LclId]
ev_sXnQ
= case uv_arp6 of {
OutOfScope occ1_aIOD ds3_aIOE ->
case occ1_aIOD of dt2_aV6a { OccName ipv4_aV6d ipv5_aV6e ->
case noSrcSpan of { __DEFAULT ->
Id
(Name System dt2_aV6a dt1_aV65 noSrcSpan)
dt1_aV65
ipv1_aSMo
mkCoVar1
VanillaId
vanillaIdInfo
}
};
TrueExprHole occ1_aIOH ->
case occ1_aIOH of dt2_aV6a { OccName ipv4_aV6d ipv5_aV6e ->
case noSrcSpan of { __DEFAULT ->
Id
(Name System dt2_aV6a dt1_aV65 noSrcSpan)
dt1_aV65
ipv1_aSMo
mkCoVar1
VanillaId
vanillaIdInfo
}
}
} } in
case ((((emitInsoluble
(CHoleCan
(CtWanted
ipv1_aSMo
(EvVarDest ev_sXnQ)
WDeriv
(CtLoc HoleOrigin ww4_aV5D (Nothing @ TypeOrKind) 0#))
lvl169_sXO9))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <()>_R
:: IOEnv (Env TcGblEnv TcLclEnv) ()
~R# (Env TcGblEnv TcLclEnv -> IO ())))
ww_aV5x)
`cast` (N:IO[0] <()>_R
:: IO () ~R# (State# RealWorld -> (# State# RealWorld, () #))))
s2#_aV69
of
{ (# ipv4_aTsT, ipv5_aTsU #) ->
((((tcWrapResultO
lvl168_sXOa
wild_X5R
(HsVar
@ GhcTcId
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ev_sXnQ
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc))))
ipv1_aSMo
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
ww_aV5x)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
ipv4_aTsT
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsRecFld ds1_dShG f_atEh ->
tcCheckRecSelId_rpGV wild_X5R f_atEh res_ty_arp4;
HsOverLabel ds1_dShs mb_fromLabel_arq2 l_arq3 ->
let {
lvl168_sYlg :: HsTyLit
[LclId, Unf=OtherCon []]
lvl168_sYlg = HsStrTy NoSourceText l_arq3 } in
let {
lvl169_sXOc :: HsType (GhcPass 'Renamed)
[LclId, Unf=OtherCon []]
lvl169_sXOc
= HsTyLit
@ (GhcPass 'Renamed)
(NoExt
`cast` (Sub (Sym (D:R:XTyLitGhcPass[0] <'Renamed>_N))
:: NoExt ~R# XTyLit (GhcPass 'Renamed)))
lvl168_sYlg } in
let {
lvl170_s19cU :: CtOrigin
[LclId, Unf=OtherCon []]
lvl170_s19cU = OverLabelOrigin l_arq3 } in
let {
pred_s19cR :: TyLit
[LclId, Unf=OtherCon []]
pred_s19cR = StrTyLit l_arq3 } in
let {
pred1_s19cT :: Type
[LclId, Unf=OtherCon []]
pred1_s19cT = LitTy pred_s19cR } in
let {
lvl171_s19cV :: CtOrigin
[LclId]
lvl171_s19cV = exprCtOrigin wild_X5R } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case env_aSMj of wild1_aV6D
{ Env ds2_aV6F dt_aV6G ds3_aV6H ds4_aV6I ->
case mb_fromLabel_arq2 of {
Nothing ->
case tcLookupClass1 isLabelClassName wild1_aV6D s2_aSMk of
{ (# ipv_XSSJ, ipv1_XSSL #) ->
case $wnewFlexiTyVarTy
liftedTypeKind ds2_aV6F dt_aV6G ds3_aV6H ds4_aV6I ipv_XSSJ
of
{ (# ipv2_XSSQ, ipv3_XSSS #) ->
let {
pred2_sXo0 :: TyCon
[LclId]
pred2_sXo0
= case ipv1_XSSL of
{ Class ds7_aKjh ds8_aKji ds9_aKjj ds10_aKjk ds11_aKjl ds12_aKjm ->
ds7_aKjh
} } in
let {
pred3_s10zC :: [Type]
[LclId, Unf=OtherCon []]
pred3_s10zC = : @ Type ipv3_XSSS ([] @ Type) } in
let {
pred4_sXnZ :: [Type]
[LclId, Unf=OtherCon []]
pred4_sXnZ = : @ Type pred1_s19cT pred3_s10zC } in
let {
pred5_sXnY :: PredType
[LclId, Unf=OtherCon []]
pred5_sXnY = TyConApp pred2_sXo0 pred4_sXnZ } in
case ((((emitWantedEvVar lvl170_s19cU pred5_sXnY)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <EvVar>_R
:: IOEnv (Env TcGblEnv TcLclEnv) EvVar
~R# (Env TcGblEnv TcLclEnv -> IO EvVar)))
wild1_aV6D)
`cast` (N:IO[0] <EvVar>_R
:: IO EvVar
~R# (State# RealWorld -> (# State# RealWorld, EvVar #))))
ipv2_XSSQ
of
{ (# ipv4_XST8, ipv5_XSTa #) ->
((((tcWrapResultO
lvl171_s19cV
wild_X5R
(case unwrapIP pred5_sXnY of wild3_aJFH {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast wild3_aJFH)
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ EvVar
(case ds4_aV6I of
{ TcLclEnv ds8_aV6M ds9_aV6N ds10_aV6O ds11_aV6P ds12_aV6Q
ds13_aV6R ds14_aV6S ds15_aV6T ds16_aV6U ds17_aV6V
ds18_aV6W ds19_aV6X ->
$WRealSrcSpan ds8_aV6M
})
ipv5_XSTa)
`cast` ((GenLocated <SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc))));
Refl ds8_aJFW ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ EvVar
(case ds4_aV6I of
{ TcLclEnv ds9_aV6M ds10_aV6N ds11_aV6O ds12_aV6P ds13_aV6Q
ds14_aV6R ds15_aV6S ds16_aV6T ds17_aV6U ds18_aV6V
ds19_aV6W ds20_aV6X ->
$WRealSrcSpan ds9_aV6M
})
ipv5_XSTa)
`cast` ((GenLocated <SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc))));
GRefl ds8_aJFK ds9_aJFL mco_aJFM ->
case mco_aJFM of {
MRefl ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ EvVar
(case ds4_aV6I of
{ TcLclEnv ds10_aV6M ds11_aV6N ds12_aV6O ds13_aV6P
ds14_aV6Q ds15_aV6R ds16_aV6S ds17_aV6T
ds18_aV6U ds19_aV6V ds20_aV6W ds21_aV6X ->
$WRealSrcSpan ds10_aV6M
})
ipv5_XSTa)
`cast` ((GenLocated
<SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc))));
MCo co1_aJFR ->
case co1_aJFR of {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast wild3_aJFH)
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ EvVar
(case ds4_aV6I of
{ TcLclEnv ds10_aV6M ds11_aV6N ds12_aV6O ds13_aV6P
ds14_aV6Q ds15_aV6R ds16_aV6S ds17_aV6T
ds18_aV6U ds19_aV6V ds20_aV6W ds21_aV6X ->
$WRealSrcSpan ds10_aV6M
})
ipv5_XSTa)
`cast` ((GenLocated
<SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc))));
Refl ds10_aJFZ ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ EvVar
(case ds4_aV6I of
{ TcLclEnv ds11_aV6M ds12_aV6N ds13_aV6O ds14_aV6P
ds15_aV6Q ds16_aV6R ds17_aV6S ds18_aV6T
ds19_aV6U ds20_aV6V ds21_aV6W ds22_aV6X ->
$WRealSrcSpan ds11_aV6M
})
ipv5_XSTa)
`cast` ((GenLocated
<SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc))));
GRefl ds10_aJG1 ds11_aJG2 ds12_aJG3 ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ EvVar
(case ds4_aV6I of
{ TcLclEnv ds13_aV6M ds14_aV6N ds15_aV6O ds16_aV6P
ds17_aV6Q ds18_aV6R ds19_aV6S ds20_aV6T
ds21_aV6U ds22_aV6V ds23_aV6W ds24_aV6X ->
$WRealSrcSpan ds13_aV6M
})
ipv5_XSTa)
`cast` ((GenLocated
<SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc))))
}
}
})
ipv3_XSSS
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
wild1_aV6D)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
ipv4_XST8
}
}
};
Just fromLabel_arqd ->
let {
ipv1_aSMo :: SrcSpan
[LclId]
ipv1_aSMo
= case ds4_aV6I of
{ TcLclEnv ds5_aV6M ds6_aV6N ds7_aV6O ds8_aV6P ds9_aV6Q ds10_aV6R
ds11_aV6S ds12_aV6T ds13_aV6U ds14_aV6V ds15_aV6W ds16_aV6X ->
case ds5_aV6M of dt1_XEl3
{ RealSrcSpan' ipv_s12zM ipv2_s12zN ipv3_s12zO ipv4_s12zP
ipv5_s12zQ ->
RealSrcSpan dt1_XEl3
}
} } in
((((tcExpr
(HsAppType
@ GhcRn
(NoExt
`cast` (Sub (Sym (D:R:XAppTypeEGhcPass[0] <'Renamed>_N))
:: NoExt ~R# XAppTypeE (GhcPass 'Renamed)))
(L @ SrcSpan
@ (HsExpr GhcRn)
ipv1_aSMo
(HsVar
@ GhcRn
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Renamed>_N))
:: NoExt ~R# XVar (GhcPass 'Renamed)))
((L @ SrcSpan
@ Name
ipv1_aSMo
(fromLabel_arqd
`cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name)))
`cast` ((GenLocated <SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass0[0]))))_R
:: GenLocated SrcSpan Name
~R# GenLocated SrcSpan (IdP GhcRn)))))
((HsWC
@ GhcRn
@ (GenLocated SrcSpan (HsType (GhcPass 'Renamed)))
(([] @ Name)
`cast` (Sub (Sym (D:R:XHsWCGhcPassb0[0]
<GenLocated
SrcSpan (HsType (GhcPass 'Renamed))>_N))
:: [Name]
~R# XHsWC
GhcRn
(GenLocated SrcSpan (HsType (GhcPass 'Renamed)))))
(L @ SrcSpan @ (HsType (GhcPass 'Renamed)) ipv1_aSMo lvl169_sXOc))
`cast` ((HsWildCardBndrs
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N))
(GenLocated
<SrcSpan>_N
(HsType
((GhcPass
(Sym (D:R:NoGhcTcPass[1]
<'Renamed>_N)))_N ; Sym (D:R:NoGhcTc[0]
<'Renamed>_N)))_N)_N)_R
:: HsWildCardBndrs
(GhcPass 'Renamed)
(GenLocated SrcSpan (HsType (GhcPass 'Renamed)))
~R# HsWildCardBndrs
(NoGhcTc (GhcPass 'Renamed))
(GenLocated
SrcSpan (HsType (NoGhcTc (GhcPass 'Renamed)))))))
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
wild1_aV6D)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
s2_aSMk
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsIPVar ds1_dShr x_arpQ ->
let {
lvl168_s19cV :: CtOrigin
[LclId]
lvl168_s19cV = exprCtOrigin wild_X5R } in
let {
ip_name_sXOe :: TyLit
[LclId, Unf=OtherCon []]
ip_name_sXOe
= StrTyLit
(x_arpQ `cast` (N:HsIPName[0] :: HsIPName ~R# FastString)) } in
let {
ip_name1_sXOg :: Type
[LclId, Unf=OtherCon []]
ip_name1_sXOg = LitTy ip_name_sXOe } in
let {
origin_sXo9 :: CtOrigin
[LclId, Unf=OtherCon []]
origin_sXo9 = IPOccOrigin x_arpQ } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case env_aSMj of ww_aV5x
{ Env ww1_aV5A ww2_aV5B ww3_aV5C ww4_aV5D ->
case $wnewOpenFlexiTyVarTy
ww1_aV5A ww2_aV5B ww3_aV5C ww4_aV5D s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case tcLookupClass1 ipClassName ww_aV5x ipv_aSMn of
{ (# ipv2_XSSC, ipv3_XSSE #) ->
case ((((emitWantedEvVar
origin_sXo9
(TyConApp
(case ipv3_XSSE of
{ Class ds4_aKjh ds5_aKji ds6_aKjj ds7_aKjk ds8_aKjl ds9_aKjm ->
ds4_aKjh
})
(: @ Type ip_name1_sXOg (: @ Type ipv1_aSMo ([] @ Type)))))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <EvVar>_R
:: IOEnv (Env TcGblEnv TcLclEnv) EvVar
~R# (Env TcGblEnv TcLclEnv -> IO EvVar)))
ww_aV5x)
`cast` (N:IO[0] <EvVar>_R
:: IO EvVar
~R# (State# RealWorld -> (# State# RealWorld, EvVar #))))
ipv2_XSSC
of
{ (# ipv4_XSSJ, ipv5_XSSL #) ->
((((tcWrapResultO
lvl168_s19cV
wild_X5R
(case unwrapIP
(TyConApp
(case ipv3_XSSE of
{ Class ds5_aKjh ds6_aKji ds7_aKjj ds8_aKjk ds9_aKjl ds10_aKjm ->
ds5_aKjh
})
(: @ Type ip_name1_sXOg (: @ Type ipv1_aSMo ([] @ Type))))
of wild1_aJFH {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast wild1_aJFH)
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv5_XSSL
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc))));
Refl ds5_aJFW ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv5_XSSL
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc))));
GRefl ds5_aJFK ds6_aJFL mco_aJFM ->
case mco_aJFM of {
MRefl ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv5_XSSL
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc))));
MCo co1_aJFR ->
case co1_aJFR of {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast wild1_aJFH)
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv5_XSSL
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc))));
Refl ds7_aJFZ ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv5_XSSL
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc))));
GRefl ds7_aJG1 ds8_aJG2 ds9_aJG3 ->
mkHsWrap
@ 'Typechecked
WpHole
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan
@ (SrcSpanLess (Located Id))
noSrcSpan
(ipv5_XSSL
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <Var>_N))
:: Var ~R# SrcSpanLess (GenLocated SrcSpan Var))))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<Var>_N) ; Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan Var))
~R# GenLocated SrcSpan (IdP GhcTc))))
}
}
})
ipv1_aSMo
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
ww_aV5x)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
ipv4_XSSJ
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsOverLit x_arpE lit_arpF ->
let {
ds1_sXob [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsOverLit GhcTcId)
[LclId]
ds1_sXob = newOverloadedLit lit_arpF res_ty_arp4 } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXob
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsOverLit GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsOverLit GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsOverLit GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <HsOverLit GhcTcId>_R
:: IO (HsOverLit GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, HsOverLit GhcTcId #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn,
HsOverLit
@ GhcTcId
(x_arpE
`cast` (Sub (D:R:XOverLitEGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XOverLitEGhcPass[0]
<'Typechecked>_N))
:: XOverLitE (GhcPass 'Renamed)
~R# XOverLitE (GhcPass 'Typechecked)))
ipv1_aSMo #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsLit x_arpd lit_arpe ->
tcWrapResultO
(exprCtOrigin wild_X5R)
wild_X5R
(HsLit
@ GhcTcId
(x_arpd
`cast` (Sub (D:R:XLitEGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XLitEGhcPass[0] <'Typechecked>_N))
:: XLitE (GhcPass 'Renamed) ~R# XLitE (GhcPass 'Typechecked)))
(convertLit
@ GhcRn
@ GhcTcId
($d(%,,,,,,,,,,,,,%)_r1b1l
`cast` (((%,,,,,,,,,,,,,%)
((~)
<*>_N
(Sym (D:R:XHsDoublePrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsDoublePrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsFloatPrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsFloatPrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsRatGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsRatGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsIntegerGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsIntegerGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsWord64PrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsWord64PrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsInt64PrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsInt64PrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsWordPrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsWordPrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsIntPrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsIntPrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsIntGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsIntGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsStringPrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsStringPrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsStringGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsStringGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsCharPrimGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsCharPrimGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XHsCharGhcPass[0] <'Renamed>_N))
(Sym (D:R:XHsCharGhcPass[0] <'Typechecked>_N)))_N
((~)
<*>_N
(Sym (D:R:XXLitGhcPass[0] <'Renamed>_N))
(Sym (D:R:XXLitGhcPass[0] <'Typechecked>_N)))_N)_R
:: (NoExt ~ NoExt, NoExt ~ NoExt, NoExt ~ NoExt,
SourceText ~ SourceText, SourceText ~ SourceText,
SourceText ~ SourceText, SourceText ~ SourceText,
SourceText ~ SourceText, NoExt ~ NoExt, SourceText ~ SourceText,
SourceText ~ SourceText, SourceText ~ SourceText,
SourceText ~ SourceText, NoExt ~ NoExt)
~R# (XHsDoublePrim (GhcPass 'Renamed)
~ XHsDoublePrim (GhcPass 'Typechecked),
XHsFloatPrim (GhcPass 'Renamed)
~ XHsFloatPrim (GhcPass 'Typechecked),
XHsRat (GhcPass 'Renamed) ~ XHsRat (GhcPass 'Typechecked),
XHsInteger (GhcPass 'Renamed)
~ XHsInteger (GhcPass 'Typechecked),
XHsWord64Prim (GhcPass 'Renamed)
~ XHsWord64Prim (GhcPass 'Typechecked),
XHsInt64Prim (GhcPass 'Renamed)
~ XHsInt64Prim (GhcPass 'Typechecked),
XHsWordPrim (GhcPass 'Renamed)
~ XHsWordPrim (GhcPass 'Typechecked),
XHsIntPrim (GhcPass 'Renamed)
~ XHsIntPrim (GhcPass 'Typechecked),
XHsInt (GhcPass 'Renamed) ~ XHsInt (GhcPass 'Typechecked),
XHsStringPrim (GhcPass 'Renamed)
~ XHsStringPrim (GhcPass 'Typechecked),
XHsString (GhcPass 'Renamed) ~ XHsString (GhcPass 'Typechecked),
XHsCharPrim (GhcPass 'Renamed)
~ XHsCharPrim (GhcPass 'Typechecked),
XHsChar (GhcPass 'Renamed) ~ XHsChar (GhcPass 'Typechecked),
XXLit (GhcPass 'Renamed) ~ XXLit (GhcPass 'Typechecked))))
lit_arpe))
(hsLitType @ 'Renamed lit_arpe)
res_ty_arp4;
HsLam x_arqj match_arqk ->
let {
ds1_sXop [Dmd=<L,C(C1(U(U,1*U(U,1*U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)
[LclId]
ds1_sXop
= tcMatchLambda
(($fOutputable(,)3
(: @ SDoc
(let {
doc_sXol [Dmd=<L,C(U)>] :: SDoc
[LclId]
doc_sXol
= case match_arqk of {
MG ds2_aXE8 ds3_aXE9 ds4_aXEa ->
($fOutputableSCC1
(case ds3_aXE9
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<[LMatch
(GhcPass 'Renamed)
(LHsExpr GhcRn)]>_N))))_R
:: GenLocated
SrcSpan
[LMatch
(GhcPass 'Renamed) (LHsExpr GhcRn)]
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
[LMatch
(GhcPass 'Renamed)
(LHsExpr GhcRn)])))
of
{ L ds5_aXEh e_aXEi ->
map
@ (GenLocated
SrcSpan (Match (GhcPass 'Renamed) (LHsExpr GhcRn)))
@ SDoc
lvl165_r1b2k
(e_aXEi
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<[LMatch
(GhcPass 'Renamed)
(LHsExpr GhcRn)]>_N)
:: SrcSpanLess
(GenLocated
SrcSpan
[LMatch
(GhcPass 'Renamed) (LHsExpr GhcRn)])
~R# [LMatch
(GhcPass 'Renamed) (LHsExpr GhcRn)]))
}))
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc);
XMatchGroup x1_aXEq ->
$fOutputableNoExt3
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc)
} } in
let {
d53_sXok [InlPrag=NOUSERINLINE[2], Dmd=<L,C(U)>]
:: SDocContext -> Doc
[LclId,
Arity=1,
Str=<S(SLL),1*U(U,U,U)>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
Tmpl= \ (w_s16KT [Occ=Once!] :: SDocContext) ->
case w_s16KT of
{ SDC ww1_s16KW ww2_s16KX [Occ=Once*]
ww3_s16KY [Occ=Once*] ->
case ww1_s16KW of {
__DEFAULT ->
(doc_sXol
`cast` (N:SDoc[0]
:: SDoc ~R# (SDocContext -> Doc)))
(SDC ww1_s16KW ww2_s16KX ww3_s16KY);
PprUser q_aV83 [Occ=Once] _ [Occ=Dead]
c_aV85 [Occ=Once] ->
(doc_sXol
`cast` (N:SDoc[0]
:: SDoc ~R# (SDocContext -> Doc)))
(SDC
(PprUser q_aV83 depth_r1aXN c_aV85)
ww2_s16KX
ww3_s16KY)
}
}}]
d53_sXok
= \ (w_s16KT :: SDocContext) ->
case w_s16KT of ww_s16KV { SDC ww1_s16KW ww2_s16KX ww3_s16KY ->
case ww1_s16KW of {
__DEFAULT ->
(doc_sXol `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
ww_s16KV;
PprUser q_aV83 ds3_aV84 c_aV85 ->
(doc_sXol `cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
(SDC
(PprUser q_aV83 depth_r1aXN c_aV85) ww2_s16KX ww3_s16KY)
}
} } in
(\ (sty_aSI4 :: SDocContext) ->
case pprQuotedList2
(d53_sXok
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
sty_aSI4
of wild1_aSI5 {
__DEFAULT ->
case d13_r1aXM of wild2_aSI6 {
__DEFAULT -> Beside wild2_aSI6 True wild1_aSI5;
Empty -> wild1_aSI5
};
Empty -> d13_r1aXM
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl164_r1b2j))
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl43_r1aXR
match_arqk
res_ty_arp4 } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXop
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)
~R# (Env TcGblEnv TcLclEnv
-> IO (MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper))))
env_aSMj)
`cast` (N:IO[0]
<(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)>_R
:: IO (MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)
~R# (State# RealWorld
-> (# State# RealWorld,
(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (match'_arqo, wrap_arqp) ->
(# ipv_aSMn,
mkHsWrap
@ 'Typechecked
wrap_arqp
(HsLam
@ GhcTcId
(x_arqj
`cast` (Sub (D:R:XLamGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XLamGhcPass[0]
<'Typechecked>_N))
:: XLam (GhcPass 'Renamed) ~R# XLam (GhcPass 'Typechecked)))
match'_arqo) #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsLamCase x_arqr matches_arqs ->
let {
ds1_sXox [Dmd=<L,C(C1(U(U,1*U(U,1*U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)
[LclId]
ds1_sXox
= tcMatchLambda
(($fOutputable(,)3
(: @ SDoc
(let {
d53_sXov [Dmd=<L,C(U)>] :: SDoc
[LclId]
d53_sXov
= case isAtomicHsExpr @ (GhcPass 'Renamed) wild_X5R of {
False ->
let {
w38_aXCX [Dmd=<L,C(U)>] :: SDoc
[LclId]
w38_aXCX = lvl163_r1b2i wild_X5R } in
(\ (w39_aXCZ :: SDocContext) ->
case w39_aXCZ of ww7_aXD0
{ SDC ww8_aXD2 ww9_aXD3 ww10_aXD4 ->
case ww8_aXD2 of {
__DEFAULT ->
(w38_aXCX
`cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
ww7_aXD0;
PprUser ds2_aXD8 ds3_aXD9 ds4_aXDa ->
case ds3_aXD9 of {
AllTheWay ->
(w38_aXCX
`cast` (N:SDoc[0] :: SDoc ~R# (SDocContext -> Doc)))
ww7_aXD0;
PartWay ds5_aXDg ->
case ds5_aXDg of { I# ds6_aXDk ->
case ds6_aXDk of ds7_aXDm {
__DEFAULT ->
(w38_aXCX
`cast` (N:SDoc[0]
:: SDoc ~R# (SDocContext -> Doc)))
(SDC
(PprUser
ds2_aXD8
(PartWay (I# (-# ds7_aXDm 1#)))
ds4_aXDa)
ww9_aXD3
ww10_aXD4);
0# -> pprDeeper2
}
}
}
}
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc);
True -> lvl163_r1b2i wild_X5R
} } in
(\ (sty_aSI4 :: SDocContext) ->
case pprQuotedList2 d53_sXov sty_aSI4 of wild1_aSI5 {
__DEFAULT ->
case d15_r1aXT of wild2_aSI6 {
__DEFAULT -> Beside wild2_aSI6 True wild1_aSI5;
Empty -> wild1_aSI5
};
Empty -> d15_r1aXT
})
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl162_r1b2h))
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
lvl45_r1aXX
matches_arqs
res_ty_arp4 } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXox
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)
~R# (Env TcGblEnv TcLclEnv
-> IO (MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper))))
env_aSMj)
`cast` (N:IO[0]
<(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)>_R
:: IO (MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper)
~R# (State# RealWorld
-> (# State# RealWorld,
(MatchGroup GhcTcId (LHsExpr GhcTcId), HsWrapper) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (matches'_arqw, wrap_arqx) ->
(# ipv_aSMn,
mkHsWrap
@ 'Typechecked
wrap_arqx
(HsLamCase
@ GhcTcId
(x_arqr
`cast` (Sub (D:R:XLamCaseGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XLamCaseGhcPass[0]
<'Typechecked>_N))
:: XLamCase (GhcPass 'Renamed)
~R# XLamCase (GhcPass 'Typechecked)))
matches'_arqw) #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsApp ds1_dShl ds2_dShm ds3_dShn ->
tcApp1_rpGJ wild_X5R res_ty_arp4;
HsAppType ds1_dSho ds2_dShp ds3_dShq ->
tcApp1_rpGJ wild_X5R res_ty_arp4;
OpApp fix_arqI arg1_arqJ op_arqK arg2_arqL ->
case op_arqK of wild1_X24 { L loc10_arqN ds1_dKrp ->
join {
fail_sXoz [Dmd=<L,1*C1(U)>] :: Void# -> TcM (HsExpr GhcTcId)
[LclId[JoinId(1)], Arity=1, Str=<L,A>, Unf=OtherCon []]
fail_sXoz _ [Occ=Dead, OS=OneShot]
= join {
fail1_sXoD [Dmd=<L,1*C1(U)>] :: Void# -> TcM (HsExpr GhcTcId)
[LclId[JoinId(1)], Arity=1, Str=<L,A>, Unf=OtherCon []]
fail1_sXoD _ [Occ=Dead, OS=OneShot]
= join {
fail2_sXoR [Dmd=<L,1*C1(U)>] :: Void# -> TcM (HsExpr GhcTcId)
[LclId[JoinId(1)], Arity=1, Str=<L,A>, Unf=OtherCon []]
fail2_sXoR _ [Occ=Dead, OS=OneShot]
= let {
ds5_sXoX [Dmd=<L,C(C1(U(U,A)))>]
:: Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, () #)
[LclId]
ds5_sXoX
= traceTc1
lvl47_r1aXZ
($w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
loc10_arqN
ds1_dKrp) } in
let {
ds6_sXoW [Dmd=<L,C(C1(U(U,1*U(1*U,U,1*U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])
[LclId]
ds6_sXoW
= $wtcApp_r1b2s
(Just @ SDoc (mk_op_msg_rpGN wild1_X24))
loc10_arqN
ds1_dKrp
(: @ LHsExprArgIn
(HsValArg @ (LHsExpr GhcRn) @ (LHsWcType GhcRn) arg1_arqJ)
(: @ LHsExprArgIn
(HsValArg @ (LHsExpr GhcRn) @ (LHsWcType GhcRn) arg2_arqL)
([] @ LHsExprArgIn)))
res_ty_arp4 } in
(\ (env_aTsP :: Env TcGblEnv TcLclEnv)
(s2_aTsQ :: State# RealWorld) ->
case ds5_sXoX env_aTsP s2_aTsQ of { (# ipv_aTsT, ipv1_aTsU #) ->
case (((ds6_sXoW
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])
~R# (Env TcGblEnv TcLclEnv
-> IO
(HsWrapper, LHsExpr GhcTcId,
[LHsExprArgOut]))))
env_aTsP)
`cast` (N:IO[0]
<(HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])>_R
:: IO (HsWrapper, LHsExpr GhcTcId, [LHsExprArgOut])
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, LHsExpr GhcTcId,
[LHsExprArgOut]) #))))
ipv_aTsT
of
{ (# ipv2_aSMn, ipv3_aSMo #) ->
case ipv3_aSMo of { (wrap_artW, op'_artX, ds9_dKyz) ->
case ds9_dKyz of {
[] ->
raiseIO#
@ SomeException @ (HsExpr GhcTcId) $fMonadFailIOEnv2 ipv2_aSMn;
: ds10_dKyA ds11_dKyB ->
case ds10_dKyA of {
__DEFAULT ->
raiseIO#
@ SomeException
@ (HsExpr GhcTcId)
$fMonadFailIOEnv2
ipv2_aSMn;
HsValArg arg1'_artY ->
case ds11_dKyB of {
[] ->
raiseIO#
@ SomeException
@ (HsExpr GhcTcId)
$fMonadFailIOEnv2
ipv2_aSMn;
: ds12_dKyC ds13_dKyD ->
case ds12_dKyC of {
__DEFAULT ->
raiseIO#
@ SomeException
@ (HsExpr GhcTcId)
$fMonadFailIOEnv2
ipv2_aSMn;
HsValArg arg2'_artZ ->
case ds13_dKyD of {
[] ->
(# ipv2_aSMn,
mkHsWrap
@ 'Typechecked
wrap_artW
(OpApp
@ GhcTcId
(fix_arqI
`cast` (Sub (D:R:XOpAppGhcPass0[0]) ; Sub (Sym (D:R:XOpAppGhcPass[0]))
:: XOpApp GhcRn
~R# XOpApp GhcTc))
arg1'_artY
op'_artX
arg2'_artZ) #);
: ipv4_sV8x ipv5_sV8y ->
raiseIO#
@ SomeException
@ (HsExpr GhcTcId)
$fMonadFailIOEnv2
ipv2_aSMn
}
}
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<HsExpr
GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)) } in
case ds1_dKrp of {
__DEFAULT -> jump fail2_sXoR void#;
HsRecFld ds4_dKxW ds5_dKxX ->
case ds5_dKxX of {
__DEFAULT -> jump fail2_sXoR void#;
Ambiguous ds6_dKxY lbl_artR ->
case arg1_arqJ
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))))_R
:: GenLocated SrcSpan (HsExpr GhcRn)
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (HsExpr GhcRn))))
of wild4_aDdW
{ L ds7_aDdY e_aDdZ ->
case obviousSig_rpHd
(e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))
~R# HsExpr GhcRn))
of {
Nothing -> jump fail2_sXoR void#;
Just sig_ty_artS ->
let {
ds8_sXoT [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) Type
[LclId]
ds8_sXoT
= case sig_ty_artS of {
HsWC ds9_aK0p ds10_aK0q ->
tcHsSigType ExprSigCtxt ds10_aK0q;
XHsWildCardBndrs ipv_aK0u ->
case dropWildCards1 of wild7_00 { }
} } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds8_sXoT
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <Type>_R
:: IOEnv (Env TcGblEnv TcLclEnv) Type
~R# (Env TcGblEnv TcLclEnv -> IO Type)))
env_aSMj)
`cast` (N:IO[0] <Type>_R
:: IO Type
~R# (State# RealWorld
-> (# State# RealWorld, Type #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case disambiguateSelector_r1b0W
lbl_artR ipv1_aSMo env_aSMj ipv_aSMn
of
{ (# ipv2_XST1, ipv3_XST3 #) ->
((((tcExpr
(OpApp
@ GhcRn
fix_arqI
(wild4_aDdW
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr GhcRn>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (HsExpr GhcRn)))
~R# GenLocated SrcSpan (HsExpr GhcRn)))
(L @ SrcSpan
@ (HsExpr GhcRn)
loc10_arqN
(HsRecFld
@ GhcRn
(NoExt
`cast` (Sub (Sym (D:R:XRecFldGhcPass[0]
<'Renamed>_N))
:: NoExt
~R# XRecFld (GhcPass 'Renamed)))
(Unambiguous
@ GhcRn
(ipv3_XST3
`cast` (Sub (Sym (D:R:XUnambiguousGhcPass0[0]))
:: Name ~R# XUnambiguous GhcRn))
lbl_artR)))
arg2_arqL)
res_ty_arp4)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, HsExpr GhcTcId #))))
ipv2_XST1
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<HsExpr
GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
}
}
}
} } in
case ds1_dKrp of wild2_X28 {
__DEFAULT -> jump fail1_sXoD void#;
HsVar ds3_dKuT ds4_dKuU ->
case ds4_dKuU of { L lv_artA op_name_artB ->
case op_name_artB
`cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name)
of wild4_aU9D
{ Name ds5_aU9F ds6_aU9G dt_aU9H ds7_aU9I ->
case dt_aU9H of {
__DEFAULT -> jump fail1_sXoD void#;
3458764513820541051# ->
let {
lvl168_sXP3 :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl168_sXP3 = Just @ (HsExpr GhcRn) wild_X5R } in
let {
orig1_sXOS :: CtOrigin
[LclId]
orig1_sXOS
= case arg1_arqJ of { L ds8_aJZL e_aJZM ->
exprCtOrigin e_aJZM
} } in
let {
lvl169_sYme :: HsExpr GhcRn
[LclId]
lvl169_sYme
= case arg1_arqJ
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))))_R
:: GenLocated SrcSpan (HsExpr GhcRn)
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated SrcSpan (HsExpr GhcRn))))
of
{ L ds8_aDdY e_aDdZ ->
e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))
~R# HsExpr GhcRn)
} } in
let {
lvl170_sXP0 :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl170_sXP0 = Just @ (HsExpr GhcRn) lvl169_sYme } in
let {
ds8_sXoH [Dmd=<L,C(C1(U(U,A)))>]
:: Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, () #)
[LclId]
ds8_sXoH
= traceTc1
lvl49_r1aY1
($w$cppr
@ SrcSpan
@ (HsExpr GhcRn)
$fOutputableSrcSpan
$fOutputableHsExpr_$s$fOutputableHsExpr
loc10_arqN
wild2_X28) } in
let {
ds9_sXoG [Dmd=<L,C(C1(U(U,1*U(1*U(U,1*U),U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType)
[LclId]
ds9_sXoG = tcInferSigma arg1_arqJ } in
(\ (env_aTsP :: Env TcGblEnv TcLclEnv)
(s2_aTsQ :: State# RealWorld) ->
case ds8_sXoH env_aTsP s2_aTsQ of { (# ipv_aTsT, ipv1_aTsU #) ->
case (((ds9_sXoG
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(LHsExpr GhcTcId, TcSigmaType)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId, TcSigmaType)
~R# (Env TcGblEnv TcLclEnv
-> IO (LHsExpr GhcTcId, TcSigmaType))))
env_aTsP)
`cast` (N:IO[0] <(LHsExpr GhcTcId, TcSigmaType)>_R
:: IO (LHsExpr GhcTcId, TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld,
(LHsExpr GhcTcId, TcSigmaType) #))))
ipv_aTsT
of
{ (# ipv2_aSMn, ipv3_aSMo #) ->
case ipv3_aSMo of { (arg1'_artC, arg1_ty_artD) ->
case (((($wmatchActualFunTysPart
(lvl52_r1aY8
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
orig1_sXOS
lvl170_sXP0
1#
arg1_ty_artD
([] @ TcSigmaType)
lvl23_r1aX9)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, [TcSigmaType], TcSigmaType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, [TcSigmaType], TcSigmaType))))
env_aTsP)
`cast` (N:IO[0] <(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IO (HsWrapper, [TcSigmaType], TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, [TcSigmaType], TcSigmaType) #))))
ipv2_aSMn
of
{ (# ipv4_XSTk, ipv5_XSTm #) ->
case ipv5_XSTm of { (wrap_arg1_artG, ds13_dKrX, op_res_ty_artI) ->
case ds13_dKrX of {
[] ->
raiseIO#
@ SomeException @ (HsExpr GhcTcId) $fMonadFailIOEnv2 ipv4_XSTk;
: arg2_sigma_artH ds14_dKrY ->
case ds14_dKrY of {
[] ->
case arg2_arqL of { L ww1_s16Kf ww2_s16Kg ->
case $wtcArg_r1b2p
wild1_X24
ww1_s16Kf
ww2_s16Kg
arg2_sigma_artH
lvl51_r1aY5
env_aTsP
ipv4_XSTk
of
{ (# ipv6_XSTM, ipv7_XSTO #) ->
case ((((unifyKind
(Just
@ (HsType GhcRn)
(XHsType
@ GhcRn
((NHsCoreTy arg2_sigma_artH)
`cast` (Sub (Sym (D:R:XXTypeGhcPass[0]
<'Renamed>_N))
:: NewHsTypeX
~R# XXType (GhcPass 'Renamed)))))
(tcTypeKind1 arg2_sigma_artH)
liftedTypeKind)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <CoercionN>_R
:: IOEnv (Env TcGblEnv TcLclEnv) CoercionN
~R# (Env TcGblEnv TcLclEnv -> IO CoercionN)))
env_aTsP)
`cast` (N:IO[0] <CoercionN>_R
:: IO CoercionN
~R# (State# RealWorld
-> (# State# RealWorld, CoercionN #))))
ipv6_XSTM
of
{ (# ipv8_XSTT, ipv9_XSTV #) ->
case (((($wtcSubTypeDS_NC_O
orig1_sXOS lvl168_sXP3 op_res_ty_artI res_ty_arp4)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
env_aTsP)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld
-> (# State# RealWorld, HsWrapper #))))
ipv8_XSTT
of
{ (# ipv10_XSTZ, ipv11_XSU1 #) ->
case tcLookupId1 wild4_aU9D env_aTsP ipv10_XSTZ of
{ (# ipv12_XSU6, ipv13_XSU8 #) ->
join {
$j_sYog [Dmd=<C(C(S)),1*C1(C1(U))>]
:: State# RealWorld
-> TcType -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><L,U>, Unf=OtherCon []]
$j_sYog (ipv14_XSUd [OS=OneShot] :: State# RealWorld)
(ipv15_XSUf [OS=OneShot] :: TcType)
= (# ipv14_XSUd,
OpApp
@ (GhcPass 'Typechecked)
(fix_arqI
`cast` (Sub (D:R:XOpAppGhcPass0[0]) ; Sub (Sym (D:R:XOpAppGhcPass[0]))
:: XOpApp GhcRn ~R# XOpApp GhcTc))
(case arg1'_artC
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))))_R
:: GenLocated
SrcSpan
(HsExpr (GhcPass 'Typechecked))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)))))
of
{ L loc11_aJwd e_aJwe ->
(L @ SrcSpan
@ (SrcSpanLess (LHsExpr (GhcPass 'Typechecked)))
loc11_aJwd
(join {
$j1_sYoa [Dmd=<L,1*C1(U)>]
:: HsWrapper
-> SrcSpanLess
(LHsExpr (GhcPass 'Typechecked))
[LclId[JoinId(1)],
Arity=1,
Str=<L,U>,
Unf=OtherCon []]
$j1_sYoa (wild11_aJaP [OS=OneShot]
:: HsWrapper
Unf=OtherCon [])
= case wrap_arg1_artG of wild12_aJaQ {
__DEFAULT ->
(mkHsWrap
@ 'Typechecked
(WpCompose wild11_aJaP wild12_aJaQ)
(e_aJwe
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)))
~R# HsExpr
(GhcPass
'Typechecked))))
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr
(GhcPass 'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))));
WpHole ->
(mkHsWrap
@ 'Typechecked
wild11_aJaP
(e_aJwe
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)))
~R# HsExpr
(GhcPass
'Typechecked))))
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr
(GhcPass 'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))))
} } in
case ipv11_XSU1 of wild11_aJob {
__DEFAULT ->
jump $j1_sYoa
(WpFun
WpHole
wild11_aJob
arg2_sigma_artH
(lvl50_r1aY4
`cast` (Sym (N:SDoc[0])
:: (SDocContext -> Doc)
~R# SDoc)));
WpHole ->
(mkHsWrap
@ 'Typechecked
wrap_arg1_artG
(e_aJwe
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked)))
~R# HsExpr
(GhcPass
'Typechecked))))
`cast` (Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N))
:: HsExpr (GhcPass 'Typechecked)
~R# SrcSpanLess
(GenLocated
SrcSpan
(HsExpr
(GhcPass
'Typechecked))));
WpCast co2_aJoe ->
jump $j1_sYoa
(WpCast
(case co2_aJoe of wild12_aJog {
__DEFAULT ->
FunCo
Representational
(GRefl
Representational
arg2_sigma_artH
MRefl)
wild12_aJog;
Refl ty_aJok ->
GRefl
Representational
(FunTy
VisArg
arg2_sigma_artH
ty_aJok)
MRefl;
GRefl r1_aJon ty_aJoo mco_aJop ->
case mco_aJop of {
MRefl ->
GRefl
Representational
(FunTy
VisArg
arg2_sigma_artH
ty_aJoo)
MRefl;
MCo co_aJov ->
case co_aJov of {
__DEFAULT ->
FunCo
Representational
(GRefl
Representational
arg2_sigma_artH
MRefl)
wild12_aJog;
Refl ds19_aJoz ->
GRefl
Representational
(FunTy
VisArg
arg2_sigma_artH
ty_aJoo)
MRefl;
GRefl ds19_aJoC ds20_aJoD
ds21_aJoE ->
GRefl
Representational
(FunTy
VisArg
arg2_sigma_artH
ty_aJoo)
MRefl
}
}
}))
}))
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<HsExpr
(GhcPass
'Typechecked)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(HsExpr (GhcPass 'Typechecked))))
~R# GenLocated
SrcSpan
(HsExpr (GhcPass 'Typechecked)))
})
(L @ SrcSpan
@ (HsExpr (GhcPass 'Typechecked))
loc10_arqN
(mkHsWrap
@ 'Typechecked
(mkWpTyApps_go
(: @ Type
(getRuntimeRep2 ipv15_XSUf)
(: @ Type
arg2_sigma_artH
(: @ Type ipv15_XSUf ([] @ Type)))))
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0]
<'Typechecked>_N))
:: NoExt
~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan @ Id lv_artA ipv13_XSU8)
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated
SrcSpan (IdP GhcTc))))))
ipv7_XSTO #) } in
case res_ty_arp4 of wild10_aVb2 {
Check ty_aVb4 -> jump $j_sYog ipv12_XSU6 ty_aVb4;
Infer ds19_aVb7 ->
case ds19_aVb7 of
{ IR ds20_s19d9 ds21_s19da ds22_s19db ds23_s19dc ->
case ds23_s19dc
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType)
~R# STRef RealWorld (Maybe TcType))
of
{ STRef var#_aVbi ->
case readMutVar#
@ RealWorld @ (Maybe TcType) var#_aVbi ipv12_XSU6
of
{ (# ipv14_aVbm, ipv15_aVbn #) ->
case ipv15_aVbn of {
Nothing -> case readExpType2 wild10_aVb2 of wild14_00 { };
Just ty_aVbt -> jump $j_sYog ipv14_aVbm ty_aVbt
}
}
}
}
}
}
}
}
}
};
: ipv6_sVaU ipv7_sVbz ->
raiseIO#
@ SomeException @ (HsExpr GhcTcId) $fMonadFailIOEnv2 ipv4_XSTk
}
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<HsExpr
GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
}
}
}
} } in
case ds1_dKrp of {
__DEFAULT -> jump fail_sXoz void#;
HsVar ds2_dKrq ds3_dKrr ->
case ds3_dKrr of { L lv_arqO op_name_arqP ->
case op_name_arqP
`cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name)
of wild4_aU9D
{ Name ds4_aU9F ds5_aU9G dt_aU9H ds6_aU9I ->
case dt_aU9H of {
__DEFAULT -> jump fail_sXoz void#;
3458764513820540936# ->
let {
msg_sXPd :: MsgDoc
[LclId]
msg_sXPd
= funAppCtxt
@ (LHsExpr GhcRn)
@ (LHsExpr GhcRn)
$s$fOutputableGenLocated
$s$fOutputableGenLocated
wild1_X24
arg2_arqL
lvl51_r1aY5 } in
let {
lvl168_sYmf
:: TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #)
[LclId,
Arity=3,
Str=<L,U><L,A><L,U>,
Unf=Unf{Src=InlineStable, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=True)
Tmpl= \ (env_aTST [Occ=Once] :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV [Occ=Once] :: State# RealWorld) ->
(# eta3_aTSV, (env_aTST, msg_sXPd) #)}]
lvl168_sYmf
= \ (env_aTST :: TidyEnv)
_ [Occ=Dead]
(eta3_aTSV :: State# RealWorld) ->
(# eta3_aTSV, (env_aTST, msg_sXPd) #) } in
let {
lvl169_sXPe
:: (Bool,
TidyEnv -> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc))
[LclId, Unf=OtherCon []]
lvl169_sXPe
= (False,
lvl168_sYmf
`cast` (<TidyEnv>_R
->_R (<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <(TidyEnv, MsgDoc)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TidyEnv,
MsgDoc)>_R)
:: (TidyEnv
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, (TidyEnv, MsgDoc) #))
~R# (TidyEnv
-> IOEnv (Env TcGblEnv TcLclEnv) (TidyEnv, MsgDoc)))) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case env_aSMj of ww_aTQm
{ Env ww1_aTQp ww2_aTQq ww3_aTQr ww4_aTQs ->
case $wnewFlexiTyVarTy
liftedTypeKind ww1_aTQp ww2_aTQq ww3_aTQr ww4_aTQs s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case arg1_arqJ of { L ww8_s16Kf ww9_s16Kg ->
case $wtcArg_r1b2p
wild1_X24
ww8_s16Kf
ww9_s16Kg
ipv1_aSMo
lvl23_r1aX9
ww_aTQm
ipv_aSMn
of
{ (# ipv2_XST5, ipv3_XST7 #) ->
case arg2_arqL of { L ww11_s16K3 ww12_s16K4 ->
case (((($wtc_poly_expr_nc ww11_s16K3 ww12_s16K4 res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
(Env
@ TcGblEnv
@ TcLclEnv
ww1_aTQp
ww2_aTQq
ww3_aTQr
(case ww4_aTQs of
{ TcLclEnv ds9_aTSG ds10_aTSH ds11_aTSI ds12_aTSJ ds13_aTSK
ds14_aTSL ds15_aTSM ds16_aTSN ds17_aTSO ds18_aTSP
ds19_aTSQ ds20_aTSR ->
TcLclEnv
ds9_aTSG
(: @ (Bool, TidyEnv -> TcM (TidyEnv, MsgDoc))
lvl169_sXPe
ds10_aTSH)
ds11_aTSI
ds12_aTSJ
ds13_aTSK
ds14_aTSL
ds15_aTSM
ds16_aTSN
ds17_aTSO
ds18_aTSP
ds19_aTSQ
ds20_aTSR
})))
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, LHsExpr GhcTcId #))))
ipv2_XST5
of
{ (# ipv4_XSTe, ipv5_XSTg #) ->
join {
$j_sYoy [Dmd=<C(C(S)),1*C1(C1(U))>]
:: State# RealWorld
-> TcType -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><L,U>, Unf=OtherCon []]
$j_sYoy (ipv6_XSTl [OS=OneShot] :: State# RealWorld)
(ipv7_XSTn [OS=OneShot] :: TcType)
= case tcLookupId1 wild4_aU9D ww_aTQm ipv6_XSTl of
{ (# ipv8_XSTs, ipv9_XSTu #) ->
(# ipv8_XSTs,
OpApp
@ GhcTcId
(fix_arqI
`cast` (Sub (D:R:XOpAppGhcPass0[0]) ; Sub (Sym (D:R:XOpAppGhcPass[0]))
:: XOpApp GhcRn ~R# XOpApp GhcTc))
ipv3_XST7
(L @ SrcSpan
@ (HsExpr (GhcPass 'Typechecked))
loc10_arqN
(mkHsWrap
@ 'Typechecked
(mkWpTyApps_go
(: @ Type ipv1_aSMo (: @ Type ipv7_XSTn ([] @ Type))))
(HsVar
@ (GhcPass 'Typechecked)
(NoExt
`cast` (Sub (Sym (D:R:XVarGhcPass[0] <'Typechecked>_N))
:: NoExt ~R# XVar (GhcPass 'Typechecked)))
((L @ SrcSpan @ Id lv_arqO ipv9_XSTu)
`cast` ((GenLocated
<SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc))))))
ipv5_XSTg #)
} } in
case res_ty_arp4 of wild6_aVb2 {
Check ty_aVb4 -> jump $j_sYoy ipv4_XSTe ty_aVb4;
Infer ds10_aVb7 ->
case ds10_aVb7 of
{ IR ds11_s19dg ds12_s19dh ds13_s19di ds14_s19dj ->
case ds14_s19dj
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef var#_aVbi ->
case readMutVar# @ RealWorld @ (Maybe TcType) var#_aVbi ipv4_XSTe
of
{ (# ipv6_aVbm, ipv7_aVbn #) ->
case ipv7_aVbn of {
Nothing -> case readExpType2 wild6_aVb2 of wild10_00 { };
Just ty_aVbt -> jump $j_sYoy ipv6_aVbm ty_aVbt
}
}
}
}
}
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
}
}
}
}
};
NegApp x_arpI expr_arpJ neg_expr_arpK ->
let {
ds1_sXp1 [Dmd=<L,C(C1(U(U,1*U(U,U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, SyntaxExpr GhcTcId)
[LclId]
ds1_sXp1
= tcSyntaxOpGen
@ (LHsExpr GhcTcId)
NegateOrigin
neg_expr_arpK
lvl53_r1aY9
(SynType res_ty_arp4)
(\ (ds2_dKhF :: [TcSigmaType]) ->
case ds2_dKhF of {
[] -> lvl161_r1b2g;
: arg_ty_arpM ds3_dKhP ->
case ds3_dKhP of {
[] -> tcMonoExpr expr_arpJ (Check arg_ty_arpM);
: ipv_sVbW ipv1_sVbX -> lvl161_r1b2g
}
}) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXp1
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(LHsExpr GhcTcId, SyntaxExpr GhcTcId)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, SyntaxExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (LHsExpr GhcTcId, SyntaxExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <(LHsExpr GhcTcId, SyntaxExpr GhcTcId)>_R
:: IO (LHsExpr GhcTcId, SyntaxExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
(LHsExpr GhcTcId, SyntaxExpr GhcTcId) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (expr'_arpN, neg_expr'_arpO) ->
(# ipv_aSMn,
NegApp
@ GhcTcId
(x_arpI
`cast` (Sub (D:R:XNegAppGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XNegAppGhcPass[0]
<'Typechecked>_N))
:: XNegApp (GhcPass 'Renamed) ~R# XNegApp (GhcPass 'Typechecked)))
expr'_arpN
neg_expr'_arpO #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsPar x_arph expr_arpi ->
let {
ds1_sXp3 [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
[LclId]
ds1_sXp3
= case expr_arpi of { L ww1_s16KG ww2_s16KH ->
$wtcMonoExprNC ww1_s16KG ww2_s16KH res_ty_arp4
} } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXp3
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, LHsExpr GhcTcId #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn,
HsPar
@ GhcTcId
(x_arph
`cast` (Sub (D:R:XParGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XParGhcPass[0] <'Typechecked>_N))
:: XPar (GhcPass 'Renamed) ~R# XPar (GhcPass 'Typechecked)))
ipv1_aSMo #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
SectionL x_aruf arg1_arug op_aruh ->
let {
lvl168_sXPC :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl168_sXPC = Just @ (HsExpr GhcRn) wild_X5R } in
let {
lvl169_sXPz [Dmd=<L,C(U)>] :: SDoc
[LclId]
lvl169_sXPz = mk_op_msg_rpGN op_aruh } in
let {
lvl170_sYoM :: HsExpr GhcRn
[LclId]
lvl170_sYoM
= case op_aruh
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))))_R
:: GenLocated SrcSpan (HsExpr GhcRn)
~R# GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))))
of
{ L ds1_aDdY e_aDdZ ->
e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))
~R# HsExpr GhcRn)
} } in
let {
lvl171_sXPA :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl171_sXPA = Just @ (HsExpr GhcRn) lvl170_sYoM } in
let {
fn_orig_sXp7 :: CtOrigin
[LclId]
fn_orig_sXp7
= case op_aruh of { L ds1_aJZL e_aJZM -> exprCtOrigin e_aJZM } } in
let {
ds1_sXp6 [Dmd=<L,C(C1(U(U,1*U(1*U(U,1*U),U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType)
[LclId]
ds1_sXp6
= case op_aruh of { L ww1_s16KP ww2_s16KQ ->
$wtcInferFun_r1b2m ww1_s16KP ww2_s16KQ
} } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXp6
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(LHsExpr GhcTcId, TcSigmaType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId, TcSigmaType))))
env_aSMj)
`cast` (N:IO[0] <(LHsExpr GhcTcId, TcSigmaType)>_R
:: IO (LHsExpr GhcTcId, TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (op'_aruk, op_ty_arul) ->
case env_aSMj of wild2_aSC4
{ Env ds3_aSC6 dt_aSC7 ds4_aSC8 ds5_aSC9 ->
case ds3_aSC6 of
{ HscEnv ds6_s19do ds7_s19dp ds8_s19dq ds9_s19dr ds10_s19ds
dt1_s19dt dt2_s19du dt3_s19dv ds11_s19dw ds12_s19dx ds13_s19dy ->
case ds6_s19do of
{ DynFlags ipv2_aSyw ipv3_aSyx ipv4_aSyy ipv5_aSyz ipv6_aSyA
ipv7_aSyB ipv8_aSyC ipv9_aSyD ipv10_aSyE ipv11_aSyF ipv12_aSyG
ipv13_aSyH ipv14_aSyI ipv15_aSyJ ipv16_aSyK ipv17_aSyL ipv18_aSyM
ipv19_aSyN ipv20_aSyO ipv21_aSyP ipv22_aSyQ ipv23_aSyR ipv24_aSyS
ipv25_aSyT ipv26_aSyU ipv27_aSyV ipv28_aSyW ipv29_aSyX ipv30_aSyY
ipv31_aSyZ ipv32_aSz0 ipv33_aSz1 ipv34_aSz2 ipv35_aSz3 ipv36_aSz4
ipv37_aSz5 ipv38_aSz6 ipv39_aSz7 ipv40_aSz8 ipv41_aSz9 ipv42_aSza
ipv43_aSzb ipv44_aSzc ipv45_aSzd ipv46_aSze ipv47_aSzf ipv48_aSzg
ipv49_aSzh ipv50_aSzi ipv51_aSzj ipv52_aSzk ipv53_aSzl ipv54_aSzm
ipv55_aSzn ipv56_aSzo ipv57_aSzp ipv58_aSzq ipv59_aSzr ipv60_aSzs
ipv61_aSzt ipv62_aSzu ipv63_aSzv ipv64_aSzw ipv65_aSzx ipv66_aSzy
ipv67_aSzz ipv68_aSzA ipv69_aSzB ipv70_aSzC ipv71_aSzD ipv72_aSzE
ipv73_aSzF ipv74_aSzG ipv75_aSzH ipv76_aSzI ipv77_aSzJ ipv78_aSzK
ipv79_aSzL ipv80_aSzM ipv81_aSzN ipv82_aSzO ipv83_aSzP ipv84_aSzQ
ipv85_aSzR ipv86_aSzS ipv87_aSzT ipv88_aSzU ipv89_aSzV ipv90_aSzW
ipv91_aSzX ipv92_aSzY ipv93_aSzZ ipv94_aSA0 ipv95_aSA1 ipv96_aSA2
ipv97_aSA3 ipv98_aSA4 ipv99_aSA5 ipv100_aSA6 ipv101_aSA7
ipv102_aSA8 ipv103_aSA9 ipv104_aSAa ipv105_aSAb ipv106_aSAc
ipv107_aSAd ipv108_aSAe ipv109_aSAf ipv110_aSAg ipv111_aSAh
ipv112_aSAi ipv113_aSAj ipv114_aSAk ipv115_aSAl ipv116_aSAm
ipv117_aSAn ipv118_aSAo ipv119_aSAp ipv120_aSAq ipv121_aSAr
ipv122_aSAs ipv123_aSAt ipv124_aSAu ipv125_aSAv ipv126_aSAw
ipv127_aSAx ipv128_aSAy ipv129_aSAz ipv130_aSAA ipv131_aSAB
ipv132_aSAC ipv133_aSAD ipv134_aSAE ipv135_aSAF ipv136_aSAG
ipv137_aSAH ipv138_aSAI ipv139_aSAJ ipv140_aSAK ipv141_aSAL
ipv142_aSAM ipv143_aSAN ipv144_aSAO ipv145_aSAP ipv146_aSAQ
ipv147_aSAR ipv148_aSAS ipv149_aSAT ipv150_aSAU ipv151_aSAV
ipv152_aSAW ipv153_aSAX ipv154_aSAY ipv155_aSAZ ipv156_aSB0
ipv157_aSB1 ipv158_aSB2 ipv159_aSB3 ipv160_aSB4 ipv161_aSB5
ipv162_aSB6 ipv163_aSB7 ipv164_aSB8 ipv165_aSB9 ipv166_aSBa
ipv167_aSBb ipv168_aSBc ipv169_aSBd ipv170_aSBe ipv171_aSBf
ipv172_aSBg ipv173_aSBh ipv174_aSBi ipv175_aSBj ipv176_aSBk
ipv177_aSBl ipv178_aSBm ipv179_aSBn ipv180_aSBo ipv181_aSBp
ipv182_aSBq ipv183_aSBr ipv184_aSBs ipv185_aSBt ipv186_aSBu
ipv187_aSBv ipv188_aSBw ipv189_aSBx ipv190_aSBy ipv191_aSBz
ipv192_aSBA ipv193_aSBB ipv194_aSBC ipv195_aSBD ipv196_aSBE
ipv197_aSBF ipv198_aSBG ipv199_aSBH ipv200_aSBI ipv201_aSBJ
ipv202_aSBK ipv203_aSBL ipv204_aSBM ipv205_aSBN ipv206_aSBO
ipv207_aSBP ipv208_aSBQ ipv209_aSBR ipv210_aSBS ipv211_aSBT
ipv212_aSBU ipv213_aSBV ipv214_aSBW ipv215_aSBX ipv216_aSBY
ipv217_aSBZ ->
join {
$j_sZ2j [Dmd=<C(C(S)),1*C1(C1(U))>]
:: Int# -> Arity -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<S,U><L,U(U)>, Unf=OtherCon []]
$j_sZ2j (ww1_aJYo [OS=OneShot] :: Int#)
(ww_aJYm [OS=OneShot]
:: Arity
Unf=OtherCon [])
= case (((($wmatchActualFunTysPart
lvl169_sXPz
fn_orig_sXp7
lvl171_sXPA
ww1_aJYo
op_ty_arul
([] @ TcSigmaType)
ww_aJYm)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(HsWrapper, [TcSigmaType], TcSigmaType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, [TcSigmaType], TcSigmaType))))
wild2_aSC4)
`cast` (N:IO[0] <(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IO (HsWrapper, [TcSigmaType], TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, [TcSigmaType], TcSigmaType) #))))
ipv_aSMn
of
{ (# ipv218_XSWj, ipv219_XSWl #) ->
case ipv219_XSWl of { (wrap_fn_arH1, ds15_dKzx, op_res_ty_arH4) ->
case ds15_dKzx of {
[] ->
raiseIO#
@ SomeException @ (HsExpr GhcTcId) $fMonadFailIOEnv2 ipv218_XSWj;
: arg1_ty_arH2 arg_tys_arH3 ->
case (((($wtcSubTypeDS_NC_O
SectionOrigin
lvl168_sXPC
(mkVisFunTys arg_tys_arH3 op_res_ty_arH4)
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
wild2_aSC4)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld
-> (# State# RealWorld, HsWrapper #))))
ipv218_XSWj
of
{ (# ipv220_XSWF, ipv221_XSWH #) ->
case arg1_arug of { L ww3_s16Kf ww4_s16Kg ->
case $wtcArg_r1b2p
op_aruh
ww3_s16Kf
ww4_s16Kg
arg1_ty_arH2
lvl23_r1aX9
wild2_aSC4
ipv220_XSWF
of
{ (# ipv222_XSWM, ipv223_XSWO #) ->
(# ipv222_XSWM,
mkHsWrap
@ 'Typechecked
ipv221_XSWH
(SectionL
@ GhcTcId
(x_aruf
`cast` (Sub (D:R:XSectionLGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XSectionLGhcPass[0]
<'Typechecked>_N))
:: XSectionL (GhcPass 'Renamed)
~R# XSectionL (GhcPass 'Typechecked)))
ipv223_XSWO
(mkLHsWrap @ 'Typechecked wrap_fn_arH1 op'_aruk)) #)
}
}
}
}
}
} } in
case $wmember
80#
(ipv175_aSBj
`cast` (N:EnumSet[0] <Extension>_P
:: EnumSet Extension ~R# IntSet))
of {
False -> jump $j_sZ2j 2# lvl51_r1aY5;
True -> jump $j_sZ2j 1# lvl23_r1aX9
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
SectionR x_aru1 op_aru2 arg2_aru3 ->
let {
lvl168_sXPK :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl168_sXPK = Just @ (HsExpr GhcRn) wild_X5R } in
let {
lvl169_sXPG [Dmd=<L,C(U)>] :: SDoc
[LclId]
lvl169_sXPG = mk_op_msg_rpGN op_aru2 } in
let {
lvl170_sYp1 :: HsExpr GhcRn
[LclId]
lvl170_sYp1
= case op_aru2
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))))_R
:: GenLocated SrcSpan (HsExpr GhcRn)
~R# GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))))
of
{ L ds1_aDdY e_aDdZ ->
e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))
~R# HsExpr GhcRn)
} } in
let {
lvl171_sXPH :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl171_sXPH = Just @ (HsExpr GhcRn) lvl170_sYp1 } in
let {
fn_orig_sXpd :: CtOrigin
[LclId]
fn_orig_sXpd
= case op_aru2 of { L ds1_aJZL e_aJZM -> exprCtOrigin e_aJZM } } in
let {
ds1_sXpc [Dmd=<L,C(C1(U(U,1*U(1*U(U,1*U),U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType)
[LclId]
ds1_sXpc
= case op_aru2 of { L ww1_s16KP ww2_s16KQ ->
$wtcInferFun_r1b2m ww1_s16KP ww2_s16KQ
} } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXpc
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(LHsExpr GhcTcId, TcSigmaType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcSigmaType)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId, TcSigmaType))))
env_aSMj)
`cast` (N:IO[0] <(LHsExpr GhcTcId, TcSigmaType)>_R
:: IO (LHsExpr GhcTcId, TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcSigmaType) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (op'_aru6, op_ty_aru7) ->
case (((($wmatchActualFunTysPart
lvl169_sXPG
fn_orig_sXpd
lvl171_sXPH
2#
op_ty_aru7
([] @ TcSigmaType)
lvl51_r1aY5)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (HsWrapper, [TcSigmaType], TcSigmaType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, [TcSigmaType], TcSigmaType))))
env_aSMj)
`cast` (N:IO[0] <(HsWrapper, [TcSigmaType], TcSigmaType)>_R
:: IO (HsWrapper, [TcSigmaType], TcSigmaType)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsWrapper, [TcSigmaType], TcSigmaType) #))))
ipv_aSMn
of
{ (# ipv2_XSSJ, ipv3_XSSL #) ->
case ipv3_XSSL of { (wrap_fun_aru8, ds4_dKz0, op_res_ty_arub) ->
case ds4_dKz0 of {
[] ->
raiseIO#
@ SomeException @ (HsExpr GhcTcId) $fMonadFailIOEnv2 ipv2_XSSJ;
: arg1_ty_aru9 ds5_dKz1 ->
case ds5_dKz1 of {
[] ->
raiseIO#
@ SomeException @ (HsExpr GhcTcId) $fMonadFailIOEnv2 ipv2_XSSJ;
: arg2_ty_arua ds6_dKz2 ->
case ds6_dKz2 of {
[] ->
case (((($wtcSubTypeDS_NC_O
SectionOrigin
lvl168_sXPK
(FunTy VisArg arg1_ty_aru9 op_res_ty_arub)
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
env_aSMj)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld
-> (# State# RealWorld, HsWrapper #))))
ipv2_XSSJ
of
{ (# ipv4_XSTh, ipv5_XSTj #) ->
case arg2_aru3 of { L ww1_s16Kf ww2_s16Kg ->
case $wtcArg_r1b2p
op_aru2
ww1_s16Kf
ww2_s16Kg
arg2_ty_arua
lvl51_r1aY5
env_aSMj
ipv4_XSTh
of
{ (# ipv6_XSTo, ipv7_XSTq #) ->
(# ipv6_XSTo,
mkHsWrap
@ 'Typechecked
ipv5_XSTj
(SectionR
@ (GhcPass 'Typechecked)
(x_aru1
`cast` (Sub (D:R:XSectionRGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XSectionRGhcPass[0]
<'Typechecked>_N))
:: XSectionR (GhcPass 'Renamed)
~R# XSectionR (GhcPass 'Typechecked)))
(mkLHsWrap @ 'Typechecked wrap_fun_aru8 op'_aru6)
ipv7_XSTq) #)
}
}
};
: ipv4_sVcs ipv5_sVcv ->
raiseIO#
@ SomeException @ (HsExpr GhcTcId) $fMonadFailIOEnv2 ipv2_XSSJ
}
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
ExplicitTuple x_arH8 tup_args_arH9 boxity_arHa ->
join {
$j_s14EL :: TcM (HsExpr GhcTcId)
[LclId[JoinId(0)]]
$j_s14EL
= let {
arity_sXpp [Dmd=<L,U(U)>] :: Int
[LclId]
arity_sXpp
= case $wlenAcc
@ (GenLocated SrcSpan (HsTupArg GhcRn)) tup_args_arH9 0#
of ww2_a10n9
{ __DEFAULT ->
I# ww2_a10n9
} } in
let {
tup_tc_sXpo :: TyCon
[LclId]
tup_tc_sXpo
= case arity_sXpp of { I# ww1_aKEr ->
$wtupleTyCon boxity_arHa ww1_aKEr
} } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
join {
$j1_sYrS [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> TcType -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,U>, Unf=OtherCon []]
$j1_sYrS (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: TcType)
= case ((((matchExpectedTyConApp tup_tc_sXpo ipv1_aSMo)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(TcCoercionN, [TcSigmaType])>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (TcCoercionN, [TcSigmaType])
~R# (Env TcGblEnv TcLclEnv
-> IO (TcCoercionN, [TcSigmaType]))))
env_aSMj)
`cast` (N:IO[0] <(TcCoercionN, [TcSigmaType])>_R
:: IO (TcCoercionN, [TcSigmaType])
~R# (State# RealWorld
-> (# State# RealWorld,
(TcCoercionN, [TcSigmaType]) #))))
ipv_aSMn
of
{ (# ipv2_XSSH, ipv3_XSSJ #) ->
case ipv3_XSSJ of { (coi_as1o, arg_tys_as1p) ->
case ((((go24_r1b2t
tup_args_arH9
(case boxity_arHa of {
Boxed -> arg_tys_as1p;
Unboxed ->
case arity_sXpp of { I# x1_aVdy ->
case <=# x1_aVdy 0# of {
__DEFAULT ->
$wunsafeDrop1_r1b2d @ TcSigmaType x1_aVdy arg_tys_as1p;
1# -> arg_tys_as1p
}
}
}))
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <[LHsTupArg GhcTcId]>_R
:: IOEnv (Env TcGblEnv TcLclEnv) [LHsTupArg GhcTcId]
~R# (Env TcGblEnv TcLclEnv -> IO [LHsTupArg GhcTcId])))
env_aSMj)
`cast` (N:IO[0] <[LHsTupArg GhcTcId]>_R
:: IO [LHsTupArg GhcTcId]
~R# (State# RealWorld
-> (# State# RealWorld, [LHsTupArg GhcTcId] #))))
ipv2_XSSH
of
{ (# ipv4_XSSW, ipv5_XSSY #) ->
(# ipv4_XSSW,
case coi_as1o of wild2_aKDm {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast (mkSubCo wild2_aKDm))
(ExplicitTuple
@ GhcTcId
(x_arH8
`cast` (Sub (D:R:XExplicitTupleGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XExplicitTupleGhcPass[0]
<'Typechecked>_N))
:: XExplicitTuple (GhcPass 'Renamed)
~R# XExplicitTuple (GhcPass 'Typechecked)))
ipv5_XSSY
boxity_arHa);
Refl ds3_aKDo ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitTuple
@ GhcTcId
(x_arH8
`cast` (Sub (D:R:XExplicitTupleGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XExplicitTupleGhcPass[0]
<'Typechecked>_N))
:: XExplicitTuple (GhcPass 'Renamed)
~R# XExplicitTuple (GhcPass 'Typechecked)))
ipv5_XSSY
boxity_arHa);
GRefl ds3_aKDr ds4_aKDs mco_aKDt ->
case mco_aKDt of {
MRefl ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitTuple
@ GhcTcId
(x_arH8
`cast` (Sub (D:R:XExplicitTupleGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XExplicitTupleGhcPass[0]
<'Typechecked>_N))
:: XExplicitTuple (GhcPass 'Renamed)
~R# XExplicitTuple (GhcPass 'Typechecked)))
ipv5_XSSY
boxity_arHa);
MCo co1_aKDz ->
case co1_aKDz of {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast (mkSubCo wild2_aKDm))
(ExplicitTuple
@ GhcTcId
(x_arH8
`cast` (Sub (D:R:XExplicitTupleGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XExplicitTupleGhcPass[0]
<'Typechecked>_N))
:: XExplicitTuple (GhcPass 'Renamed)
~R# XExplicitTuple (GhcPass 'Typechecked)))
ipv5_XSSY
boxity_arHa);
Refl ds5_aKDD ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitTuple
@ GhcTcId
(x_arH8
`cast` (Sub (D:R:XExplicitTupleGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XExplicitTupleGhcPass[0]
<'Typechecked>_N))
:: XExplicitTuple (GhcPass 'Renamed)
~R# XExplicitTuple (GhcPass 'Typechecked)))
ipv5_XSSY
boxity_arHa);
GRefl ds5_aKDG ds6_aKDH ds7_aKDI ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitTuple
@ GhcTcId
(x_arH8
`cast` (Sub (D:R:XExplicitTupleGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XExplicitTupleGhcPass[0]
<'Typechecked>_N))
:: XExplicitTuple (GhcPass 'Renamed)
~R# XExplicitTuple (GhcPass 'Typechecked)))
ipv5_XSSY
boxity_arHa)
}
}
} #)
}
}
} } in
case res_ty_arp4 of {
Check ty_aTvU -> jump $j1_sYrS s2_aSMk ty_aTvU;
Infer inf_res_aTvY ->
case inf_res_aTvY of
{ IR ww1_s19dP ww2_s19dQ ww3_s19dR ww4_s19dS ->
case ww4_s19dS
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case env_aSMj of { Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19dP
ww2_s19dQ
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
jump $j1_sYrS ipv_aSMn ipv1_aSMo
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)) } in
join {
$j1_s14EK :: TcM (HsExpr GhcTcId)
[LclId[JoinId(0)]]
$j1_s14EK
= let {
lvl168_sXPU :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl168_sXPU = Just @ (HsExpr GhcRn) wild_X5R } in
let {
ds1_sXpl [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) [TcType]
[LclId]
ds1_sXpl
= case boxity_arHa of {
Boxed ->
let {
w_aVcN [Dmd=<L,U(U)>] :: Int
[LclId]
w_aVcN
= case $wlenAcc
@ (GenLocated SrcSpan (HsTupArg GhcRn)) tup_args_arH9 0#
of ww2_a10n9
{ __DEFAULT ->
I# ww2_a10n9
} } in
(\ (w2_aVcP :: Env TcGblEnv TcLclEnv)
(w3_aVcQ [OS=OneShot] :: State# RealWorld) ->
case w_aVcN of { I# ww1_aVcU ->
$wnewFlexiTyVarTys ww1_aVcU liftedTypeKind w2_aVcP w3_aVcQ
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <[TcType]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[TcType]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, [TcType] #))
~R# IOEnv (Env TcGblEnv TcLclEnv) [TcType]);
Unboxed ->
case $wlenAcc
@ (GenLocated SrcSpan (HsTupArg GhcRn)) tup_args_arH9 0#
of ww2_a10n9
{ __DEFAULT ->
(\ (eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 [OS=OneShot] :: State# RealWorld) ->
$wloop_r1b2f ww2_a10n9 eta_B2 eta1_B1)
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <[Type]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv TcLclEnv>_R
<[Type]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, [Type] #))
~R# IOEnv (Env TcGblEnv TcLclEnv) [Type])
}
} } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXpl
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <[TcType]>_R
:: IOEnv (Env TcGblEnv TcLclEnv) [TcType]
~R# (Env TcGblEnv TcLclEnv -> IO [TcType])))
env_aSMj)
`cast` (N:IO[0] <[TcType]>_R
:: IO [TcType]
~R# (State# RealWorld -> (# State# RealWorld, [TcType] #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case (((($wtcSubTypeDS_NC_O
lvl57_r1aYd
lvl168_sXPU
(let {
ty_sXpk :: Type
[LclId]
ty_sXpk = mkTupleTy boxity_arHa ipv1_aSMo } in
letrec {
go39_sXpj [Occ=LoopBreaker] :: [Type] -> Type
[LclId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go39_sXpj
= \ (ds3_aKze :: [Type]) ->
case ds3_aKze of {
[] -> ty_sXpk;
: y_aKzj ys_aKzk -> FunTy VisArg y_aKzj (go39_sXpj ys_aKzk)
}; } in
go39_sXpj (go22_r1b2e ipv1_aSMo tup_args_arH9))
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
env_aSMj)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld -> (# State# RealWorld, HsWrapper #))))
ipv_aSMn
of
{ (# ipv2_XSSF, ipv3_XSSH #) ->
case ((((go23_r1b2q tup_args_arH9 ipv1_aSMo)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <[LHsTupArg GhcTcId]>_R
:: IOEnv (Env TcGblEnv TcLclEnv) [LHsTupArg GhcTcId]
~R# (Env TcGblEnv TcLclEnv -> IO [LHsTupArg GhcTcId])))
env_aSMj)
`cast` (N:IO[0] <[LHsTupArg GhcTcId]>_R
:: IO [LHsTupArg GhcTcId]
~R# (State# RealWorld
-> (# State# RealWorld, [LHsTupArg GhcTcId] #))))
ipv2_XSSF
of
{ (# ipv4_XSSM, ipv5_XSSO #) ->
(# ipv4_XSSM,
mkHsWrap
@ 'Typechecked
ipv3_XSSH
(ExplicitTuple
@ GhcTcId
(x_arH8
`cast` (Sub (D:R:XExplicitTupleGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XExplicitTupleGhcPass[0]
<'Typechecked>_N))
:: XExplicitTuple (GhcPass 'Renamed)
~R# XExplicitTuple (GhcPass 'Typechecked)))
ipv5_XSSO
boxity_arHa) #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)) } in
joinrec {
go25_aSw3 [Occ=LoopBreaker]
:: [LHsTupArg GhcRn] -> TcM (HsExpr GhcTcId)
[LclId[JoinId(1)], Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go25_aSw3 (ds1_aSw4 :: [LHsTupArg GhcRn])
= case ds1_aSw4 of {
[] -> jump $j_s14EL;
: y_aSw9 ys_aSwa ->
case y_aSw9 of { L ds2_aKEF ds3_aKEG ->
case ds3_aKEG of {
Present ds4_aKEM ds5_aKEN -> jump go25_aSw3 ys_aSwa;
Missing ds4_aKEP -> jump $j1_s14EK;
XTupArg ds4_aKER -> jump $j1_s14EK
}
}
}; } in
jump go25_aSw3 tup_args_arH9;
ExplicitSum ds1_dShu alt_as5m arity_as5n expr_as5o ->
let {
lvl168_sXPZ :: Bool
[LclId]
lvl168_sXPZ
= case arity_as5n of { I# x_aVdy ->
tagToEnum# @ Bool (<=# x_aVdy 0#)
} } in
let {
sum_tc_sXpt :: TyCon
[LclId]
sum_tc_sXpt
= case arity_as5n of { I# ww1_aKGw -> $wsumTyCon ww1_aKGw } } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
join {
$j_sYt8 [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> TcType -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,U>, Unf=OtherCon []]
$j_sYt8 (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: TcType)
= case ((((matchExpectedTyConApp sum_tc_sXpt ipv1_aSMo)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(TcCoercionN, [TcSigmaType])>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (TcCoercionN, [TcSigmaType])
~R# (Env TcGblEnv TcLclEnv
-> IO (TcCoercionN, [TcSigmaType]))))
env_aSMj)
`cast` (N:IO[0] <(TcCoercionN, [TcSigmaType])>_R
:: IO (TcCoercionN, [TcSigmaType])
~R# (State# RealWorld
-> (# State# RealWorld, (TcCoercionN, [TcSigmaType]) #))))
ipv_aSMn
of
{ (# ipv2_XSSA, ipv3_XSSC #) ->
case ipv3_XSSC of { (coi_as5s, arg_tys_as5t) ->
let {
arg_tys'_sXps :: [TcSigmaType]
[LclId]
arg_tys'_sXps
= case lvl168_sXPZ of {
False ->
case arity_as5n of { I# ww1_s16t8 ->
$wunsafeDrop_r1aYe @ TcSigmaType ww1_s16t8 arg_tys_as5t
};
True -> arg_tys_as5t
} } in
case ((((tcPolyExpr
expr_as5o
(case alt_as5m of { I# x_aVdZ ->
$w!! @ TcSigmaType arg_tys'_sXps (-# x_aVdZ 1#)
}))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, LHsExpr GhcTcId #))))
ipv2_XSSA
of
{ (# ipv4_XSSR, ipv5_XSST #) ->
(# ipv4_XSSR,
case coi_as5s of wild2_aKDm {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast (mkSubCo wild2_aKDm))
(ExplicitSum
@ GhcTcId
(arg_tys'_sXps
`cast` (Sub (Sym (D:R:XExplicitSumGhcPass[0]))
:: [Type] ~R# XExplicitSum GhcTc))
alt_as5m
arity_as5n
ipv5_XSST);
Refl ds4_aKDo ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitSum
@ GhcTcId
(arg_tys'_sXps
`cast` (Sub (Sym (D:R:XExplicitSumGhcPass[0]))
:: [Type] ~R# XExplicitSum GhcTc))
alt_as5m
arity_as5n
ipv5_XSST);
GRefl ds4_aKDr ds5_aKDs mco_aKDt ->
case mco_aKDt of {
MRefl ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitSum
@ GhcTcId
(arg_tys'_sXps
`cast` (Sub (Sym (D:R:XExplicitSumGhcPass[0]))
:: [Type] ~R# XExplicitSum GhcTc))
alt_as5m
arity_as5n
ipv5_XSST);
MCo co1_aKDz ->
case co1_aKDz of {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast (mkSubCo wild2_aKDm))
(ExplicitSum
@ GhcTcId
(arg_tys'_sXps
`cast` (Sub (Sym (D:R:XExplicitSumGhcPass[0]))
:: [Type] ~R# XExplicitSum GhcTc))
alt_as5m
arity_as5n
ipv5_XSST);
Refl ds6_aKDD ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitSum
@ GhcTcId
(arg_tys'_sXps
`cast` (Sub (Sym (D:R:XExplicitSumGhcPass[0]))
:: [Type] ~R# XExplicitSum GhcTc))
alt_as5m
arity_as5n
ipv5_XSST);
GRefl ds6_aKDG ds7_aKDH ds8_aKDI ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitSum
@ GhcTcId
(arg_tys'_sXps
`cast` (Sub (Sym (D:R:XExplicitSumGhcPass[0]))
:: [Type] ~R# XExplicitSum GhcTc))
alt_as5m
arity_as5n
ipv5_XSST)
}
}
} #)
}
}
} } in
case res_ty_arp4 of {
Check ty_aTvU -> jump $j_sYt8 s2_aSMk ty_aTvU;
Infer inf_res_aTvY ->
case inf_res_aTvY of
{ IR ww1_s19dV ww2_s19dW ww3_s19dX ww4_s19dY ->
case ww4_s19dY
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case env_aSMj of { Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19dV
ww2_s19dW
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
jump $j_sYt8 ipv_aSMn ipv1_aSMo
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsCase x_asdJ scrut_asdK matches_asdL ->
let {
ds1_sXpy [Dmd=<L,C(C1(U(U,1*U(U,U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcRhoType)
[LclId]
ds1_sXpy = tcInferRho scrut_asdK } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds1_sXpy
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(LHsExpr GhcTcId, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcRhoType)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId, TcRhoType))))
env_aSMj)
`cast` (N:IO[0] <(LHsExpr GhcTcId, TcRhoType)>_R
:: IO (LHsExpr GhcTcId, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcRhoType) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (scrut'_asdO, scrut_ty_asdP) ->
case traceTc1
lvl59_r1aYg
(($fOutputableTyCoBinder3
emptyTidyEnv
($fShowFractionalLit2
`cast` (Sym (N:PprPrec[0]) :: Int ~R# PprPrec))
scrut_ty_asdP)
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
env_aSMj
ipv_aSMn
of
{ (# ipv2_aTsT, ipv3_aTsU #) ->
case ((((tcMatchesCase
@ HsExpr
$fOutputableHsExpr_$s$fOutputableHsExpr
lvl45_r1aXX
scrut_ty_asdP
matches_asdL
res_ty_arp4)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<MatchGroup GhcTcId (Located (HsExpr GhcTcId))>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(MatchGroup GhcTcId (Located (HsExpr GhcTcId)))
~R# (Env TcGblEnv TcLclEnv
-> IO (MatchGroup GhcTcId (Located (HsExpr GhcTcId))))))
env_aSMj)
`cast` (N:IO[0] <MatchGroup GhcTcId (Located (HsExpr GhcTcId))>_R
:: IO (MatchGroup GhcTcId (Located (HsExpr GhcTcId)))
~R# (State# RealWorld
-> (# State# RealWorld,
MatchGroup GhcTcId (Located (HsExpr GhcTcId)) #))))
ipv2_aTsT
of
{ (# ipv4_XSSL, ipv5_XSSN #) ->
(# ipv4_XSSL,
HsCase
@ GhcTcId
(x_asdJ
`cast` (Sub (D:R:XCaseGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XCaseGhcPass[0] <'Typechecked>_N))
:: XCase (GhcPass 'Renamed) ~R# XCase (GhcPass 'Typechecked)))
scrut'_asdO
ipv5_XSSN #)
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsIf x_asdR ds1_dShx pred_asdS b1_asdT b2_asdU ->
case ds1_dShx of {
Nothing ->
let {
ds2_sXpB [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
[LclId]
ds2_sXpB = tcMonoExpr pred_asdS lvl60_r1aYh } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds2_sXpB
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, LHsExpr GhcTcId #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
join {
$j_sYtm [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> ExpType -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><L,U>, Unf=OtherCon []]
$j_sYtm (ipv2_XSSE [OS=OneShot] :: State# RealWorld)
(ipv3_XSSG [OS=OneShot] :: ExpType)
= case ((((tcMonoExpr b1_asdT ipv3_XSSG)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, LHsExpr GhcTcId #))))
ipv2_XSSE
of
{ (# ipv4_XSSL, ipv5_XSSN #) ->
case ((((tcMonoExpr b2_asdU ipv3_XSSG)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <LHsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld, LHsExpr GhcTcId #))))
ipv4_XSSL
of
{ (# ipv6_XSSS, ipv7_XSSU #) ->
(# ipv6_XSSS,
HsIf
@ GhcTcId
(x_asdR
`cast` (Sub (D:R:XIfGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XIfGhcPass[0]
<'Typechecked>_N))
:: XIf (GhcPass 'Renamed) ~R# XIf (GhcPass 'Typechecked)))
(Nothing @ (SyntaxExpr GhcTcId))
ipv1_aSMo
ipv5_XSSN
ipv7_XSSU #)
}
} } in
case res_ty_arp4 of wild2_aVel {
Check ty_aVen -> jump $j_sYtm ipv_aSMn wild2_aVel;
Infer inf_res_aVeq ->
case inf_res_aVeq of
{ IR ww1_s19e1 ww2_s19e2 ww3_s19e3 ww4_s19e4 ->
case ww4_s19e4
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case env_aSMj of { Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19e1
ww2_s19e2
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
ipv_aSMn
of
{ (# ipv2_aVeu, ipv3_aVev #) ->
jump $j_sYtm ipv2_aVeu (Check ipv3_aVev)
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
Just fun_ase1 ->
let {
ds2_sXpH [Dmd=<L,C(C1(U(U,1*U(1*U(U,U,U),U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
((LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId),
SyntaxExpr GhcTcId)
[LclId]
ds2_sXpH
= tcSyntaxOpGen
@ (LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId)
IfOrigin
fun_ase1
lvl62_r1aYj
(SynType res_ty_arp4)
(\ (ds3_dKHy :: [TcSigmaType]) ->
case ds3_dKHy of {
[] -> lvl160_r1b2c;
: pred_ty_ase6 ds4_dKHT ->
case ds4_dKHT of {
[] -> lvl160_r1b2c;
: b1_ty_ase7 ds5_dKHU ->
case ds5_dKHU of {
[] -> lvl160_r1b2c;
: b2_ty_ase8 ds6_dKHV ->
case ds6_dKHV of {
[] ->
let {
ds7_sXpG [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId)
[LclId]
ds7_sXpG = tcPolyExpr pred_asdS pred_ty_ase6 } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk [OS=OneShot] :: State# RealWorld) ->
case (((ds7_sXpG
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<LHsExpr GhcTcId>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
LHsExpr GhcTcId #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ((((tcPolyExpr b1_asdT b1_ty_ase7)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<LHsExpr GhcTcId>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
LHsExpr GhcTcId #))))
ipv_aSMn
of
{ (# ipv2_XST5, ipv3_XST7 #) ->
case ((((tcPolyExpr b2_asdU b2_ty_ase8)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<LHsExpr GhcTcId>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
LHsExpr GhcTcId #))))
ipv2_XST5
of
{ (# ipv4_XSTc, ipv5_XSTe #) ->
(# ipv4_XSTc, (ipv1_aSMo, ipv3_XST7, ipv5_XSTe) #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<(LHsExpr GhcTcId, LHsExpr GhcTcId,
LHsExpr
GhcTcId)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(LHsExpr
GhcTcId,
LHsExpr
GhcTcId,
LHsExpr
GhcTcId)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
(LHsExpr GhcTcId, LHsExpr GhcTcId,
LHsExpr GhcTcId) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId, LHsExpr GhcTcId,
LHsExpr GhcTcId));
: ipv_sVeH ipv1_sVeL -> lvl160_r1b2c
}
}
}
}) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds2_sXpH
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<((LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId),
SyntaxExpr GhcTcId)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
((LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId),
SyntaxExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO
((LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId),
SyntaxExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0]
<((LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId),
SyntaxExpr GhcTcId)>_R
:: IO
((LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId),
SyntaxExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
((LHsExpr GhcTcId, LHsExpr GhcTcId, LHsExpr GhcTcId),
SyntaxExpr GhcTcId) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (ds4_dKI7, fun'_asef) ->
case ds4_dKI7 of { (pred'_asec, b1'_ased, b2'_asee) ->
(# ipv_aSMn,
HsIf
@ GhcTcId
(x_asdR
`cast` (Sub (D:R:XIfGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XIfGhcPass[0]
<'Typechecked>_N))
:: XIf (GhcPass 'Renamed) ~R# XIf (GhcPass 'Typechecked)))
(Just @ (SyntaxExpr GhcTcId) fun'_asef)
pred'_asec
b1'_ased
b2'_asee #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
};
HsMultiIf ds1_dShy alts_aseg ->
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
join {
$j_sYtZ [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> ExpRhoType -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><L,U>, Unf=OtherCon []]
$j_sYtZ (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: ExpRhoType)
= letrec {
go25_s157S [Occ=LoopBreaker]
:: [LGRHS GhcRn (LHsExpr GhcRn)]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [LGRHS GhcTcId (LHsExpr GhcTcId)] #)
[LclId,
Arity=3,
Str=<S,1*U><L,U(U,U,U,U(U,U,U,U,U,U,U,U,U,U,U,U))><L,U>,
Unf=OtherCon []]
go25_s157S
= \ (ds2_aSw4 :: [LGRHS GhcRn (LHsExpr GhcRn)])
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case ds2_aSw4 of {
[] -> (# eta1_B1, [] @ (LGRHS GhcTcId (LHsExpr GhcTcId)) #);
: y_aSw9 ys_aSwa ->
case y_aSw9
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<GRHS GhcRn (LHsExpr GhcRn)>_N))))_R
:: GenLocated SrcSpan (GRHS GhcRn (LHsExpr GhcRn))
~R# GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan (GRHS GhcRn (LHsExpr GhcRn)))))
of
{ L loc12_aXBm a1_aXBn ->
let {
ds3_s157I [Dmd=<C(C(S)),1*C1(C1(U(U,U)))>]
:: Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
GRHS GhcTcId (Located (HsExpr GhcTcId)) #)
[LclId, Arity=2, Str=<L,U><L,U>, Unf=OtherCon []]
ds3_s157I
= \ (eta2_Xey [OS=OneShot] :: Env TcGblEnv TcLclEnv)
(eta3_Xt5 [OS=OneShot] :: State# RealWorld) ->
case a1_aXBn
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<GRHS GhcRn (LHsExpr GhcRn)>_N)
:: SrcSpanLess
(GenLocated
SrcSpan (GRHS GhcRn (LHsExpr GhcRn)))
~R# GRHS GhcRn (LHsExpr GhcRn))
of {
GRHS ds4_aKIH guards_aKIL rhs_aKIO ->
case ((((tcGRHS_$stcStmtsAndThen
@ ExpType
@ (GenLocated SrcSpan (HsExpr GhcTcId))
lvl64_r1aYl
tcGuardStmt
guards_aKIL
ipv1_aSMo
(tcBody rhs_aKIO))
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<([LStmt
GhcTcId
(Located (HsExpr GhcTcId))],
GenLocated
SrcSpan (HsExpr GhcTcId))>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
([LStmt
GhcTcId
(Located (HsExpr GhcTcId))],
GenLocated
SrcSpan (HsExpr GhcTcId))
~R# (Env TcGblEnv TcLclEnv
-> IO
([LStmt
GhcTcId
(Located
(HsExpr GhcTcId))],
GenLocated
SrcSpan
(HsExpr GhcTcId)))))
eta2_Xey)
`cast` (N:IO[0]
<([LStmt
GhcTcId
(Located (HsExpr GhcTcId))],
GenLocated
SrcSpan (HsExpr GhcTcId))>_R
:: IO
([LStmt
GhcTcId
(Located (HsExpr GhcTcId))],
GenLocated SrcSpan (HsExpr GhcTcId))
~R# (State# RealWorld
-> (# State# RealWorld,
([LStmt
GhcTcId
(Located
(HsExpr GhcTcId))],
GenLocated
SrcSpan
(HsExpr GhcTcId)) #))))
eta3_Xt5
of
{ (# ipv2_aKJ5, ipv3_aKJ6 #) ->
case ipv3_aKJ6 of { (guards'_aKJa, rhs'_aKJb) ->
(# ipv2_aKJ5,
GRHS
@ GhcTcId
@ (Located (HsExpr GhcTcId))
(NoExt
`cast` (Sub (Sym (D:R:XCGRHSGhcPassb[0]
<'Typechecked>_N
<GenLocated
SrcSpan
(HsExpr GhcTcId)>_N))
:: NoExt
~R# XCGRHS
(GhcPass 'Typechecked)
(GenLocated
SrcSpan (HsExpr GhcTcId))))
guards'_aKJa
rhs'_aKJb #)
}
};
XGRHS ds4_aKJr ->
((((tcGRHS1 @ HsExpr)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<GRHS
GhcTcId (Located (HsExpr GhcTcId))>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(GRHS GhcTcId (Located (HsExpr GhcTcId)))
~R# (Env TcGblEnv TcLclEnv
-> IO
(GRHS
GhcTcId
(Located (HsExpr GhcTcId))))))
eta2_Xey)
`cast` (N:IO[0]
<GRHS GhcTcId (Located (HsExpr GhcTcId))>_R
:: IO (GRHS GhcTcId (Located (HsExpr GhcTcId)))
~R# (State# RealWorld
-> (# State# RealWorld,
GRHS
GhcTcId
(Located (HsExpr GhcTcId)) #))))
eta3_Xt5
} } in
case loc12_aXBm of wild3_aXBp {
RealSrcSpan real_loc_aXBt ->
case (ds3_s157I
(case eta_B2 of
{ Env ds4_aXBx dt_aXBy ds5_aXBz ds6_aXBA ->
Env
@ TcGblEnv
@ TcLclEnv
ds4_aXBx
dt_aXBy
ds5_aXBz
(case ds6_aXBA of
{ TcLclEnv ds7_aXBE ds8_aXBF ds9_aXBG ds10_aXBH
ds11_aXBI ds12_aXBJ ds13_aXBK ds14_aXBL
ds15_aXBM ds16_aXBN ds17_aXBO ds18_aXBP ->
TcLclEnv
real_loc_aXBt
ds8_aXBF
ds9_aXBG
ds10_aXBH
ds11_aXBI
ds12_aXBJ
ds13_aXBK
ds14_aXBL
ds15_aXBM
ds16_aXBN
ds17_aXBO
ds18_aXBP
})
})
eta1_B1)
`cast` (Nth:3
(Nth:3
(<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<GRHS
GhcTcId
(LHsExpr
GhcTcId)>_N)))) ; N:IO[0]
<SrcSpanLess
(LGRHS
GhcTcId
(LHsExpr
GhcTcId))>_R)
:: (# State# RealWorld,
GRHS GhcTcId (LHsExpr GhcTcId) #)
~R# (# State# RealWorld,
SrcSpanLess
(LGRHS GhcTcId (LHsExpr GhcTcId)) #))
of
{ (# ipv2_aXBT, ipv3_aXBU #) ->
case go25_s157S ys_aSwa eta_B2 ipv2_aXBT of
{ (# ipv4_aTzd, ipv5_aTze #) ->
(# ipv4_aTzd,
: @ (LGRHS GhcTcId (LHsExpr GhcTcId))
((L @ SrcSpan
@ (SrcSpanLess (LGRHS GhcTcId (LHsExpr GhcTcId)))
wild3_aXBp
ipv3_aXBU)
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<GRHS
GhcTcId (LHsExpr GhcTcId)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(GRHS GhcTcId (LHsExpr GhcTcId))))
~R# GenLocated
SrcSpan (GRHS GhcTcId (LHsExpr GhcTcId))))
ipv5_aTze #)
}
};
UnhelpfulSpan ds4_aXBZ ->
case (ds3_s157I eta_B2 eta1_B1)
`cast` (Nth:3
(Nth:3
(<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<GRHS
GhcTcId
(LHsExpr
GhcTcId)>_N)))) ; N:IO[0]
<SrcSpanLess
(LGRHS
GhcTcId
(LHsExpr
GhcTcId))>_R)
:: (# State# RealWorld,
GRHS GhcTcId (LHsExpr GhcTcId) #)
~R# (# State# RealWorld,
SrcSpanLess
(LGRHS GhcTcId (LHsExpr GhcTcId)) #))
of
{ (# ipv2_aXC3, ipv3_aXC4 #) ->
case go25_s157S ys_aSwa eta_B2 ipv2_aXC3 of
{ (# ipv4_aTzd, ipv5_aTze #) ->
(# ipv4_aTzd,
: @ (LGRHS GhcTcId (LHsExpr GhcTcId))
((L @ SrcSpan
@ (SrcSpanLess (LGRHS GhcTcId (LHsExpr GhcTcId)))
wild3_aXBp
ipv3_aXC4)
`cast` ((GenLocated
<SrcSpan>_R
(Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<GRHS
GhcTcId (LHsExpr GhcTcId)>_N)))_R
:: GenLocated
SrcSpan
(SrcSpanLess
(GenLocated
SrcSpan
(GRHS GhcTcId (LHsExpr GhcTcId))))
~R# GenLocated
SrcSpan (GRHS GhcTcId (LHsExpr GhcTcId))))
ipv5_aTze #)
}
}
}
}
}; } in
case go25_s157S alts_aseg env_aSMj ipv_aSMn of
{ (# ipv2_XSSD, ipv3_XSSF #) ->
case ipv1_aSMo of wild1_aVb2 {
Check ty_aVb4 ->
(# ipv2_XSSD,
HsMultiIf
@ GhcTcId
(ty_aVb4
`cast` (Sub (Sym (D:R:XMultiIfGhcPass[0]))
:: Type ~R# XMultiIf GhcTc))
ipv3_XSSF #);
Infer ds3_aVb7 ->
case ds3_aVb7 of { IR ds4_s19eb ds5_s19ec ds6_s19ed ds7_s19ee ->
case ds7_s19ee
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef var#_aVbi ->
case readMutVar# @ RealWorld @ (Maybe TcType) var#_aVbi ipv2_XSSD
of
{ (# ipv4_aVbm, ipv5_aVbn #) ->
case ipv5_aVbn of {
Nothing -> case readExpType2 wild1_aVb2 of wild5_00 { };
Just ty_aVbt ->
(# ipv4_aVbm,
HsMultiIf
@ GhcTcId
(ty_aVbt
`cast` (Sub (Sym (D:R:XMultiIfGhcPass[0]))
:: Type ~R# XMultiIf GhcTc))
ipv3_XSSF #)
}
}
}
}
}
} } in
case alts_aseg of {
[] ->
case res_ty_arp4 of wild2_aVel {
Check ty_aVen -> jump $j_sYtZ s2_aSMk wild2_aVel;
Infer inf_res_aVeq ->
case inf_res_aVeq of
{ IR ww1_s19eh ww2_s19ei ww3_s19ej ww4_s19ek ->
case ww4_s19ek
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case env_aSMj of { Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19eh
ww2_s19ei
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
s2_aSMk
of
{ (# ipv_aVeu, ipv1_aVev #) ->
jump $j_sYtZ ipv_aVeu (Check ipv1_aVev)
}
}
}
}
};
: ds2_aKJC ds3_aKJD ->
case ds3_aKJD of {
[] -> jump $j_sYtZ s2_aSMk res_ty_arp4;
: ipv_aKJK ipv1_aKJL ->
case res_ty_arp4 of wild3_aVel {
Check ty_aVen -> jump $j_sYtZ s2_aSMk wild3_aVel;
Infer inf_res_aVeq ->
case inf_res_aVeq of
{ IR ww1_s19en ww2_s19eo ww3_s19ep ww4_s19eq ->
case ww4_s19eq
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case env_aSMj of { Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19en
ww2_s19eo
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
s2_aSMk
of
{ (# ipv2_aVeu, ipv3_aVev #) ->
jump $j_sYtZ ipv2_aVeu (Check ipv3_aVev)
}
}
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
HsLet x_asdC ds1_dShw expr_asdF ->
case ds1_dShw of { L l_asdD binds_asdE ->
let {
ds2_sXpR [Dmd=<L,C(C1(U(U,1*U(U,U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv) (HsLocalBinds GhcTcId, LHsExpr GhcTcId)
[LclId]
ds2_sXpR
= tcLocalBinds
@ (LHsExpr GhcTcId)
binds_asdE
(tcMonoExpr expr_asdF res_ty_arp4) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds2_sXpR
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(HsLocalBinds GhcTcId, LHsExpr GhcTcId)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) (HsLocalBinds GhcTcId, LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsLocalBinds GhcTcId, LHsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <(HsLocalBinds GhcTcId, LHsExpr GhcTcId)>_R
:: IO (HsLocalBinds GhcTcId, LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
(HsLocalBinds GhcTcId, LHsExpr GhcTcId) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (binds'_asdH, expr'_asdI) ->
(# ipv_aSMn,
HsLet
@ GhcTcId
(x_asdC
`cast` (Sub (D:R:XLetGhcPass[0]
<'Renamed>_N) ; Sub (Sym (D:R:XLetGhcPass[0] <'Typechecked>_N))
:: XLet (GhcPass 'Renamed) ~R# XLet (GhcPass 'Typechecked)))
(L @ SrcSpan @ (HsLocalBinds GhcTcId) l_asdD binds'_asdH)
expr'_asdI #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
};
HsDo ds1_dShz do_or_lc_asem stmts_asen ->
let {
ds2_sXpT [Dmd=<L,C(C1(U))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
[LclId]
ds2_sXpT
= case stmts_asen of { L ww1_aKJT ww2_aKJU ->
$wtcDoStmts do_or_lc_asem ww1_aKJT ww2_aKJU res_ty_arp4
} } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
(((ds2_sXpT
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsExpr GhcTcId>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv -> IO (HsExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0] <HsExpr GhcTcId>_R
:: IO (HsExpr GhcTcId)
~R# (State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))))
s2_aSMk)
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
ExplicitList ds1_dShv witness_as7p exprs_as7q ->
case witness_as7p of {
Nothing ->
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
join {
$j_sYur [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> TcType -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,U>, Unf=OtherCon []]
$j_sYur (ipv_aSMn [OS=OneShot] :: State# RealWorld)
(ipv1_aSMo [OS=OneShot] :: TcType)
= case ((((matchExpectedTyConApp listTyCon ipv1_aSMo)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(TcCoercionN, [TcSigmaType])>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (TcCoercionN, [TcSigmaType])
~R# (Env TcGblEnv TcLclEnv
-> IO (TcCoercionN, [TcSigmaType]))))
env_aSMj)
`cast` (N:IO[0] <(TcCoercionN, [TcSigmaType])>_R
:: IO (TcCoercionN, [TcSigmaType])
~R# (State# RealWorld
-> (# State# RealWorld,
(TcCoercionN, [TcSigmaType]) #))))
ipv_aSMn
of
{ (# ipv2_aJhV, ipv3_aJhW #) ->
case ipv3_aJhW of { (co_aJi0, ds3_aJi1) ->
case ds3_aJi1 of {
[] ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv2_aJhV
of wild4_00 {
};
: elt_ty_aJlt ds4_aJlu ->
case ds4_aJlu of {
[] ->
letrec {
go25_s158n [Occ=LoopBreaker]
:: [LHsExpr GhcRn]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, [LHsExpr GhcTcId] #)
[LclId, Arity=3, Str=<S,1*U><L,U><L,U>, Unf=OtherCon []]
go25_s158n
= \ (ds5_aSw4 :: [LHsExpr GhcRn])
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case ds5_aSw4 of {
[] -> (# eta1_B1, [] @ (LHsExpr GhcTcId) #);
: y_aSw9 ys_aSwa ->
case ((((tcPolyExpr y_aSw9 elt_ty_aJlt)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<LHsExpr GhcTcId>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO (LHsExpr GhcTcId))))
eta_B2)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
LHsExpr GhcTcId #))))
eta1_B1
of
{ (# ipv4_aTz8, ipv5_aTz9 #) ->
case go25_s158n ys_aSwa eta_B2 ipv4_aTz8 of
{ (# ipv6_aTzd, ipv7_aTze #) ->
(# ipv6_aTzd,
: @ (LHsExpr GhcTcId) ipv5_aTz9 ipv7_aTze #)
}
}
}; } in
case go25_s158n exprs_as7q env_aSMj ipv2_aJhV of
{ (# ipv4_XSSV, ipv5_XSSX #) ->
(# ipv4_XSSV,
case co_aJi0 of wild5_aKDm {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast (mkSubCo wild5_aKDm))
(ExplicitList
@ GhcTcId
(elt_ty_aJlt
`cast` (Sub (Sym (D:R:XExplicitListGhcPass[0]))
:: Type ~R# XExplicitList GhcTc))
(Nothing @ (SyntaxExpr GhcTcId))
ipv5_XSSX);
Refl ds6_aKDo ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitList
@ GhcTcId
(elt_ty_aJlt
`cast` (Sub (Sym (D:R:XExplicitListGhcPass[0]))
:: Type ~R# XExplicitList GhcTc))
(Nothing @ (SyntaxExpr GhcTcId))
ipv5_XSSX);
GRefl ds6_aKDr ds7_aKDs mco_aKDt ->
case mco_aKDt of {
MRefl ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitList
@ GhcTcId
(elt_ty_aJlt
`cast` (Sub (Sym (D:R:XExplicitListGhcPass[0]))
:: Type ~R# XExplicitList GhcTc))
(Nothing @ (SyntaxExpr GhcTcId))
ipv5_XSSX);
MCo co1_aKDz ->
case co1_aKDz of {
__DEFAULT ->
mkHsWrap
@ 'Typechecked
(WpCast (mkSubCo wild5_aKDm))
(ExplicitList
@ GhcTcId
(elt_ty_aJlt
`cast` (Sub (Sym (D:R:XExplicitListGhcPass[0]))
:: Type ~R# XExplicitList GhcTc))
(Nothing @ (SyntaxExpr GhcTcId))
ipv5_XSSX);
Refl ds8_aKDD ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitList
@ GhcTcId
(elt_ty_aJlt
`cast` (Sub (Sym (D:R:XExplicitListGhcPass[0]))
:: Type ~R# XExplicitList GhcTc))
(Nothing @ (SyntaxExpr GhcTcId))
ipv5_XSSX);
GRefl ds8_aKDG ds9_aKDH ds10_aKDI ->
mkHsWrap
@ 'Typechecked
WpHole
(ExplicitList
@ GhcTcId
(elt_ty_aJlt
`cast` (Sub (Sym (D:R:XExplicitListGhcPass[0]))
:: Type ~R# XExplicitList GhcTc))
(Nothing @ (SyntaxExpr GhcTcId))
ipv5_XSSX)
}
}
} #)
};
: ipv4_aJlA ipv5_aJlB ->
case raiseIO#
@ SomeException
@ (TcCoercionN, TcRhoType)
$fMonadFailIOEnv2
ipv2_aJhV
of wild5_00 {
}
}
}
}
} } in
case res_ty_arp4 of {
Check ty_aTvU -> jump $j_sYur s2_aSMk ty_aTvU;
Infer inf_res_aTvY ->
case inf_res_aTvY of
{ IR ww1_s19ev ww2_s19ew ww3_s19ex ww4_s19ey ->
case ww4_s19ey
`cast` (N:IORef[0] <Maybe TcType>_N
:: IORef (Maybe TcType) ~R# STRef RealWorld (Maybe TcType))
of
{ STRef ww6_aXZs ->
case env_aSMj of { Env ww8_aXZw ww9_aXZx ww10_aXZy ww11_aXZz ->
case $winferResultToType
ww1_s19ev
ww2_s19ew
ww6_aXZs
ww8_aXZw
ww9_aXZx
ww10_aXZy
ww11_aXZz
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
jump $j_sYur ipv_aSMn ipv1_aSMo
}
}
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId));
Just fln_asdw ->
let {
ds2_sXq3 [Dmd=<L,C(C1(U(U,1*U(1*U(U,U),U))))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
(([LHsExpr GhcTcId], TcSigmaType), SyntaxExpr GhcTcId)
[LclId]
ds2_sXq3
= tcSyntaxOpGen
@ ([LHsExpr GhcTcId], TcSigmaType)
ListOrigin
fln_asdw
lvl67_r1aYo
(SynType res_ty_arp4)
(\ (ds3_dKGN :: [TcSigmaType]) ->
case ds3_dKGN of {
[] -> lvl159_r1b2b;
: elt_ty_asdx ds4_dKGY ->
case ds4_dKGY of {
[] ->
let {
ds5_sXq2 [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv (Env TcGblEnv TcLclEnv) [LHsExpr GhcTcId]
[LclId]
ds5_sXq2
= letrec {
go25_aSw3 [Occ=LoopBreaker]
:: [LHsExpr GhcRn]
-> IOEnv (Env TcGblEnv TcLclEnv) [LHsExpr GhcTcId]
[LclId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go25_aSw3
= \ (ds6_aSw4 :: [LHsExpr GhcRn]) ->
case ds6_aSw4 of {
[] ->
lvl69_r1aYq
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[LHsExpr
GhcTcId]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[LHsExpr
GhcTcId]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
[LHsExpr GhcTcId] #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
[LHsExpr GhcTcId]);
: y_aSw9 ys_aSwa ->
let {
ys1_XTLr [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
[LHsExpr GhcTcId]
[LclId]
ys1_XTLr = go25_aSw3 ys_aSwa } in
let {
x_sXq1 [Dmd=<L,C(C1(U(U,U)))>]
:: IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId)
[LclId]
x_sXq1 = tcPolyExpr y_aSw9 elt_ty_asdx } in
(\ (eta1_aTz4 :: Env TcGblEnv TcLclEnv)
(eta2_aTz5 :: State# RealWorld) ->
case (((x_sXq1
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<LHsExpr GhcTcId>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(LHsExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO
(LHsExpr
GhcTcId))))
eta1_aTz4)
`cast` (N:IO[0] <LHsExpr GhcTcId>_R
:: IO (LHsExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
LHsExpr
GhcTcId #))))
eta2_aTz5
of
{ (# ipv_aTz8, ipv1_aTz9 #) ->
case (((ys1_XTLr
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<[LHsExpr GhcTcId]>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
[LHsExpr GhcTcId]
~R# (Env TcGblEnv TcLclEnv
-> IO
[LHsExpr
GhcTcId])))
eta1_aTz4)
`cast` (N:IO[0] <[LHsExpr GhcTcId]>_R
:: IO [LHsExpr GhcTcId]
~R# (State# RealWorld
-> (# State# RealWorld,
[LHsExpr
GhcTcId] #))))
ipv_aTz8
of
{ (# ipv2_aTzd, ipv3_aTze #) ->
(# ipv2_aTzd,
: @ (LHsExpr GhcTcId)
ipv1_aTz9
ipv3_aTze #)
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<[LHsExpr
GhcTcId]>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<[LHsExpr
GhcTcId]>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
[LHsExpr GhcTcId] #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
[LHsExpr GhcTcId])
}; } in
go25_aSw3 exprs_as7q } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk [OS=OneShot] :: State# RealWorld) ->
case (((ds5_sXq2
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<[LHsExpr GhcTcId]>_R
:: IOEnv
(Env TcGblEnv TcLclEnv) [LHsExpr GhcTcId]
~R# (Env TcGblEnv TcLclEnv
-> IO [LHsExpr GhcTcId])))
env_aSMj)
`cast` (N:IO[0] <[LHsExpr GhcTcId]>_R
:: IO [LHsExpr GhcTcId]
~R# (State# RealWorld
-> (# State# RealWorld,
[LHsExpr GhcTcId] #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
(# ipv_aSMn, (ipv1_aSMo, elt_ty_asdx) #)
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<([LHsExpr GhcTcId],
TcSigmaType)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<([LHsExpr
GhcTcId],
TcSigmaType)>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
([LHsExpr GhcTcId], TcSigmaType) #))
~R# IOEnv
(Env TcGblEnv TcLclEnv)
([LHsExpr GhcTcId], TcSigmaType));
: ipv_sVfl ipv1_sVfp -> lvl159_r1b2b
}
}) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds2_sXq3
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<(([LHsExpr GhcTcId], TcSigmaType), SyntaxExpr GhcTcId)>_R
:: IOEnv
(Env TcGblEnv TcLclEnv)
(([LHsExpr GhcTcId], TcSigmaType), SyntaxExpr GhcTcId)
~R# (Env TcGblEnv TcLclEnv
-> IO
(([LHsExpr GhcTcId], TcSigmaType),
SyntaxExpr GhcTcId))))
env_aSMj)
`cast` (N:IO[0]
<(([LHsExpr GhcTcId], TcSigmaType), SyntaxExpr GhcTcId)>_R
:: IO (([LHsExpr GhcTcId], TcSigmaType), SyntaxExpr GhcTcId)
~R# (State# RealWorld
-> (# State# RealWorld,
(([LHsExpr GhcTcId], TcSigmaType),
SyntaxExpr GhcTcId) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (ds4_dKH9, fln'_asdB) ->
case ds4_dKH9 of { (exprs'_asdz, elt_ty_asdA) ->
(# ipv_aSMn,
ExplicitList
@ GhcTcId
(elt_ty_asdA
`cast` (Sub (Sym (D:R:XExplicitListGhcPass[0]))
:: Type ~R# XExplicitList GhcTc))
(Just @ (SyntaxExpr GhcTcId) fln'_asdB)
exprs'_asdz #)
}
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
};
RecordCon ds1_dShA ds2_dShB ds3_dShC ->
case ds2_dShB of { L loc10_aseL con_name_aseM ->
let {
lvl168_sXR3 :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl168_sXR3 = Just @ (HsExpr GhcRn) wild_X5R } in
let {
field_names_used_sXQp :: [XCFieldOcc GhcRn]
[LclId]
field_names_used_sXQp
= case ds3_dShC of { HsRecFields ds4_aEcV ds5_aEcW ->
map
@ (GenLocated SrcSpan (HsRecField GhcRn (LHsExpr GhcRn)))
@ (XCFieldOcc GhcRn)
((hsRecFields1 @ (LHsExpr GhcRn) @ GhcRn)
`cast` (<LHsRecField GhcRn (LHsExpr GhcRn)>_R
->_R Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <XCFieldOcc GhcRn>_N)
:: (LHsRecField GhcRn (LHsExpr GhcRn)
-> SrcSpanLess (GenLocated SrcSpan (XCFieldOcc GhcRn)))
~R# (LHsRecField GhcRn (LHsExpr GhcRn) -> XCFieldOcc GhcRn)))
ds4_aEcV
} } in
letrec {
go25_s19f8 [Occ=LoopBreaker]
:: [(FieldLabel, HsImplBang)] -> [FieldLabelString]
[LclId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go25_s19f8
= \ (ds4_aSw4 :: [(FieldLabel, HsImplBang)]) ->
case ds4_aSw4 of {
[] -> [] @ FieldLabelString;
: y_aSw9 ys_aSwa ->
case y_aSw9 of { (fl_atOK, str_atOL) ->
case str_atOL of {
HsLazy ->
join {
exit_Xbx :: [FieldLabelString]
[LclId[JoinId(0)]]
exit_Xbx = go25_s19f8 ys_aSwa } in
join {
$j_s14Hw :: [FieldLabelString]
[LclId[JoinId(0)]]
$j_s14Hw
= : @ FieldLabelString
(case fl_atOK of { FieldLabel ds5_aE7c ds6_aE7d ds7_aE7e ->
ds5_aE7c
})
(go25_s19f8 ys_aSwa) } in
joinrec {
go26_XSPS [Occ=LoopBreaker] :: [Name] -> [FieldLabelString]
[LclId[JoinId(1)], Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go26_XSPS (ds5_XSPU :: [Name])
= case ds5_XSPU of {
[] -> jump $j_s14Hw;
: y1_XSQ2 ys1_XSQ4 ->
case fl_atOK of { FieldLabel ds6_aEdG ds7_aEdH ds8_aEdI ->
case ds8_aEdI of { Name ds9_aUI0 ds10_aUI1 dt_aUI2 ds11_aUI3 ->
case y1_XSQ2 of { Name ds12_aUI7 ds13_aUI8 dt1_aUI9 ds14_aUIa ->
case ==# dt_aUI2 dt1_aUI9 of {
__DEFAULT -> jump go26_XSPS ys1_XSQ4;
1# -> jump exit_Xbx
}
}
}
}
}; } in
jump go26_XSPS
(field_names_used_sXQp
`cast` (([Sub (D:R:XCFieldOccGhcPass0[0])])_R
:: [XCFieldOcc GhcRn] ~R# [Name]));
HsStrict -> go25_s19f8 ys_aSwa;
HsUnpack ds5_aEbG -> go25_s19f8 ys_aSwa
}
}
}; } in
letrec {
go26_s19eT [Occ=LoopBreaker]
:: [(FieldLabel, HsImplBang)] -> [FieldLabelString]
[LclId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go26_s19eT
= \ (ds4_aSw4 :: [(FieldLabel, HsImplBang)]) ->
case ds4_aSw4 of {
[] -> [] @ FieldLabelString;
: y_aSw9 ys_aSwa ->
case y_aSw9 of { (fl_atOI, str_atOJ) ->
let {
ds5_dEcr :: [FieldLabelString]
[LclId]
ds5_dEcr = go26_s19eT ys_aSwa } in
join {
$j_sYv3 [Dmd=<L,1*U>] :: [FieldLabelString]
[LclId[JoinId(0)]]
$j_sYv3
= join {
$j1_s14HH :: [FieldLabelString]
[LclId[JoinId(0)]]
$j1_s14HH
= : @ FieldLabelString
(case fl_atOI of { FieldLabel ds6_aE7c ds7_aE7d ds8_aE7e ->
ds6_aE7c
})
ds5_dEcr } in
joinrec {
go27_XSLR [Occ=LoopBreaker] :: [Name] -> [FieldLabelString]
[LclId[JoinId(1)], Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go27_XSLR (ds6_XSLT :: [Name])
= case ds6_XSLT of {
[] -> jump $j1_s14HH;
: y1_XSM1 ys1_XSM3 ->
case fl_atOI of { FieldLabel ds7_aEdG ds8_aEdH ds9_aEdI ->
case ds9_aEdI of
{ Name ds10_aUI0 ds11_aUI1 dt_aUI2 ds12_aUI3 ->
case y1_XSM1 of
{ Name ds13_aUI7 ds14_aUI8 dt1_aUI9 ds15_aUIa ->
case ==# dt_aUI2 dt1_aUI9 of {
__DEFAULT -> jump go27_XSLR ys1_XSM3;
1# -> ds5_dEcr
}
}
}
}
}; } in
jump go27_XSLR
(field_names_used_sXQp
`cast` (([Sub (D:R:XCFieldOccGhcPass0[0])])_R
:: [XCFieldOcc GhcRn] ~R# [Name])) } in
case str_atOJ of {
HsLazy -> ds5_dEcr;
HsStrict -> jump $j_sYv3;
HsUnpack ds6_aEbG -> jump $j_sYv3
}
}
}; } in
let {
lvl169_sXQW :: CtOrigin
[LclId, Unf=OtherCon []]
lvl169_sXQW
= OccurrenceOf
(con_name_aseM
`cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name)) } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case $fMonadThingsIOEnv2
(con_name_aseM
`cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name))
env_aSMj
s2_aSMk
of
{ (# ipv_aVfB, ipv1_aVfC #) ->
join {
$j_sYwW [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> ConLike -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,U>, Unf=OtherCon []]
$j_sYwW (ipv2_aSMn [OS=OneShot] :: State# RealWorld)
(ipv3_aSMo [OS=OneShot] :: ConLike)
= let {
field_strs_sXqf :: [HsImplBang]
[LclId]
field_strs_sXqf = conLikeImplBangs ipv3_aSMo } in
join {
$w$j_s16LU [InlPrag=NOUSERINLINE[2], Dmd=<L,C(U)>]
:: State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<L,U>, Unf=OtherCon []]
$w$j_s16LU (w_s16LS [OS=OneShot] :: State# RealWorld)
= case tcCheckId4
(con_name_aseM
`cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name))
env_aSMj
w_s16LS
of
{ (# ipv4_XST6, ipv5_XST8 #) ->
case ipv5_XST8 of { (con_expr_aseQ, con_sigma_aseR) ->
case ((((top_instantiate True lvl169_sXQW con_sigma_aseR)
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(HsWrapper, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (HsWrapper, TcRhoType)
~R# (Env TcGblEnv TcLclEnv
-> IO (HsWrapper, TcRhoType))))
env_aSMj)
`cast` (N:IO[0] <(HsWrapper, TcRhoType)>_R
:: IO (HsWrapper, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (HsWrapper, TcRhoType) #))))
ipv4_XST6
of
{ (# ipv6_XSTl, ipv7_XSTn #) ->
case ipv7_XSTn of { (con_wrap_aseS, con_tau_aseT) ->
join {
$j1_sYvB [Dmd=<L,1*C1(U)>]
:: Id -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<L,U>, Unf=OtherCon []]
$j1_sYvB (con_id_ashE [OS=OneShot] :: Id)
= let {
ds7_sXqh [Dmd=<L,U(1*U,1*U)>] :: ([TcSigmaType], TcSigmaType)
[LclId]
ds7_sXqh
= case ipv3_aSMo of {
RealDataCon data_con_aKOn ->
case data_con_aKOn of
{ MkData ds8_aKOr ds9_aKOs ds10_aKOt ds11_aKOu ds12_aKOv
ds13_aKOw ds14_aKOx ds15_aKOy ds16_aKOz ds17_aKOA
ds18_aKOB ds19_aKOC ds20_aKOD ds21_aKOE ds22_aKOF
ds23_aKOG ds24_aKOH ds25_aKOI ds26_aKOJ ds27_aKOK
ds28_aKOL ds29_aKOM ->
case ds25_aKOI of { I# ww1_aKO4 ->
case $wtcSplitFunTysN ww1_aKO4 con_tau_aseT of {
Left ipv8_sVm6 -> lvl71_r1aYs;
Right ds30_dKOh -> ds30_dKOh
}
}
};
PatSynCon pat_syn_aKOP ->
case pat_syn_aKOP of
{ MkPatSyn ds8_aKOT ds9_aKOU ds10_aKOV ds11_aKOW ds12_aKOX
ds13_aKOY ds14_aKOZ ds15_aKP0 ds16_aKP1
ds17_aKP2 ds18_aKP3 ds19_aKP4 ds20_aKP5 ->
case ds11_aKOW of { I# ww1_aKO4 ->
case $wtcSplitFunTysN ww1_aKO4 con_tau_aseT of {
Left ipv8_sVm6 -> lvl71_r1aYs;
Right ds21_dKOh -> ds21_dKOh
}
}
}
} } in
case (((($wtcSubTypeDS_NC_O
lvl74_r1aYv
lvl168_sXR3
(case ds7_sXqh of { (arg_tys_XsjV, actual_res_ty_ashD) ->
actual_res_ty_ashD
})
res_ty_arp4)
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <HsWrapper>_R
:: IOEnv (Env TcGblEnv TcLclEnv) HsWrapper
~R# (Env TcGblEnv TcLclEnv -> IO HsWrapper)))
env_aSMj)
`cast` (N:IO[0] <HsWrapper>_R
:: IO HsWrapper
~R# (State# RealWorld
-> (# State# RealWorld, HsWrapper #))))
ipv6_XSTl
of
{ (# ipv8_XSTI, ipv9_XSTK #) ->
case ds3_dShC of { HsRecFields rbinds_atNV dd_atNW ->
let {
flds_w_tys_sXqj :: [(Name, TcType)]
[LclId]
flds_w_tys_sXqj
= case ipv3_aSMo of {
RealDataCon data_con_aE7j ->
case data_con_aE7j of
{ MkData ds9_aE7o ds10_aE7p ds11_aE7q ds12_aE7r ds13_aE7s
ds14_aE7t ds15_aE7u ds16_aE7v ds17_aE7w ds18_aE7x
ds19_aE7y ds20_aE7z ds21_aE7A ds22_aE7B ds23_aE7C
ds24_aE7D ds25_aE7K ds26_aE7L ds27_aE7M ds28_aE7N
ds29_aE7O ds30_aE7P ->
go21_r1b2a
ds22_aE7B
(case ds7_sXqh of { (arg_tys_XsoO, actual_res_ty_ashD) ->
arg_tys_XsoO
})
};
PatSynCon pat_syn_aE7S ->
case pat_syn_aE7S of
{ MkPatSyn ds9_aE7X ds10_aE7Y ds11_aE7Z ds12_aE80 ds13_aE81
ds14_aE82 ds15_aE83 ds16_aE84 ds17_aE85
ds18_aE86 ds19_aE87 ds20_aE88 ds21_aE89 ->
go20_r1b29
ds14_aE82
(case ds7_sXqh of { (arg_tys_XsoO, actual_res_ty_ashD) ->
arg_tys_XsoO
})
}
} } in
letrec {
go27_s159i [Occ=LoopBreaker]
:: [LHsRecField GhcRn (LHsExpr GhcRn)]
-> Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld,
[Maybe (LHsRecField GhcTcId (LHsExpr GhcTcId))] #)
[LclId,
Arity=3,
Str=<S,1*U><L,U(U(U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U(U(U(U,U),U),U,U,U,U,U,U,U),U,U,U,U(U),U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U,U,U,U,U,U,U,U,U,U),U,U(U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U),U(U,U,U,U,U,U,U,U,U,U,U,U(U)))><L,U>,
Unf=OtherCon []]
go27_s159i
= \ (ds9_aSw4 :: [LHsRecField GhcRn (LHsExpr GhcRn)])
(eta_B2 :: Env TcGblEnv TcLclEnv)
(eta1_B1 :: State# RealWorld) ->
case ds9_aSw4 of {
[] ->
(# eta1_B1,
[]
@ (Maybe
(LHsRecField GhcTcId (LHsExpr GhcTcId))) #);
: y_aSw9 ys_aSwa ->
case y_aSw9 of { L l_atO0 fld_atO1 ->
case fld_atO1 of
{ HsRecField ds10_dJvY ds11_dJvZ ds12_dJw0 ->
case ds10_dJvY of { L ww1_s16Ky ww2_s16Kz ->
case $wtcRecordField_r1b2n
ipv3_aSMo
flds_w_tys_sXqj
ww1_s16Ky
ww2_s16Kz
ds11_dJvZ
eta_B2
eta1_B1
of
{ (# ipv10_XSUm, ipv11_XSUo #) ->
case ipv11_XSUo of {
Nothing ->
case go27_s159i ys_aSwa eta_B2 ipv10_XSUm of
{ (# ipv12_aTzd, ipv13_aTze #) ->
(# ipv12_aTzd,
: @ (Maybe
(LHsRecField GhcTcId (LHsExpr GhcTcId)))
(Nothing
@ (LHsRecField GhcTcId (LHsExpr GhcTcId)))
ipv13_aTze #)
};
Just ds14_dJvM ->
case ds14_dJvM of { (f'_atO5, rhs'_atO6) ->
case go27_s159i ys_aSwa eta_B2 ipv10_XSUm of
{ (# ipv12_aTzd, ipv13_aTze #) ->
(# ipv12_aTzd,
: @ (Maybe
(LHsRecField GhcTcId (LHsExpr GhcTcId)))
(Just
@ (GenLocated
SrcSpan
(HsRecField'
(FieldOcc GhcTc) (LHsExpr GhcTc)))
(L @ SrcSpan
@ (HsRecField'
(FieldOcc GhcTc) (LHsExpr GhcTc))
l_atO0
(HsRecField
@ (FieldOcc GhcTc)
@ (LHsExpr GhcTc)
f'_atO5
rhs'_atO6
ds12_dJw0)))
ipv13_aTze #)
}
}
}
}
}
}
}
}; } in
case go27_s159i rbinds_atNV env_aSMj ipv8_XSTI of
{ (# ipv10_XSU2, ipv11_XSU4 #) ->
(# ipv10_XSU2,
mkHsWrap
@ 'Typechecked
ipv9_XSTK
(RecordCon
@ (GhcPass 'Typechecked)
((RecordConTc
ipv3_aSMo
(mkHsWrap @ 'Typechecked con_wrap_aseS con_expr_aseQ))
`cast` (Sub (Sym (D:R:XRecordConGhcPass1[0]))
:: RecordConTc ~R# XRecordCon GhcTc))
((L @ SrcSpan @ Id loc10_aseL con_id_ashE)
`cast` ((GenLocated
<SrcSpan>_R (Sub (Sym (D:R:IdPGhcPass[0]))))_R
:: GenLocated SrcSpan Id
~R# GenLocated SrcSpan (IdP GhcTc)))
(HsRecFields
@ GhcTcId
@ (LHsExpr GhcTcId)
(catMaybes1
@ (LHsRecField GhcTcId (LHsExpr GhcTcId)) ipv11_XSU4)
dd_atNW)) #)
}
}
} } in
case ipv3_aSMo of {
RealDataCon data_con_aKMv ->
jump $j1_sYvB (dataConWrapId data_con_aKMv);
PatSynCon pat_syn_aKMy ->
case pat_syn_aKMy of
{ MkPatSyn ds7_aKMC ds8_aKMD ds9_aKME ds10_aKMF ds11_aKMG ds12_aKMH
ds13_aKMI ds14_aKMJ ds15_aKMK ds16_aKML ds17_aKMM ds18_aKMN
ds19_aKMO ->
case ds19_aKMO of {
Nothing ->
nonBidirectionalErr_$snonBidirectionalErr
@ (HsExpr GhcTcId) ds7_aKMC env_aSMj ipv6_XSTl;
Just a1_aKMT ->
jump $j1_sYvB (case a1_aKMT of { (x_aKMX, ds20_aKMY) -> x_aKMX })
}
}
}
}
}
}
} } in
join {
$j1_sYwP [Dmd=<L,1*U>] :: (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(0)]]
$j1_sYwP
= join {
$j2_s17op [Dmd=<C(S),1*C1(U)>]
:: [(FieldLabel, HsImplBang)]
-> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<S,U>, Unf=OtherCon []]
$j2_s17op (field_info_sXqd [OS=OneShot]
:: [(FieldLabel, HsImplBang)])
= join {
$w$j1_s16M2 [InlPrag=NOUSERINLINE[2], Dmd=<L,1*C1(U)>]
:: State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<L,U>, Unf=OtherCon []]
$w$j1_s16M2 (w_s16M0 [OS=OneShot] :: State# RealWorld)
= case env_aSMj of wild2_aVgX
{ Env ds5_aVgZ dt_aVh0 ds6_aVh1 ds7_aVh2 ->
case ds5_aVgZ of
{ HscEnv ds8_s19eW ds9_s19eX ds10_s19eY ds11_s19eZ ds12_s19f0
dt1_s19f1 dt2_s19f2 dt3_s19f3 ds13_s19f4 ds14_s19f5
ds15_s19f6 ->
case ds8_s19eW of
{ DynFlags ipv4_aVhk ipv5_aVhl ipv6_aVhm ipv7_aVhn ipv8_aVho
ipv9_aVhp ipv10_aVhq ipv11_aVhr ipv12_aVhs
ipv13_aVht ipv14_aVhu ipv15_aVhv ipv16_aVhw
ipv17_aVhx ipv18_aVhy ipv19_aVhz ipv20_aVhA
ipv21_aVhB ipv22_aVhC ipv23_aVhD ipv24_aVhE
ipv25_aVhF ipv26_aVhG ipv27_aVhH ipv28_aVhI
ipv29_aVhJ ipv30_aVhK ipv31_aVhL ipv32_aVhM
ipv33_aVhN ipv34_aVhO ipv35_aVhP ipv36_aVhQ
ipv37_aVhR ipv38_aVhS ipv39_aVhT ipv40_aVhU
ipv41_aVhV ipv42_aVhW ipv43_aVhX ipv44_aVhY
ipv45_aVhZ ipv46_aVi0 ipv47_aVi1 ipv48_aVi2
ipv49_aVi3 ipv50_aVi4 ipv51_aVi5 ipv52_aVi6
ipv53_aVi7 ipv54_aVi8 ipv55_aVi9 ipv56_aVia
ipv57_aVib ipv58_aVic ipv59_aVid ipv60_aVie
ipv61_aVif ipv62_aVig ipv63_aVih ipv64_aVii
ipv65_aVij ipv66_aVik ipv67_aVil ipv68_aVim
ipv69_aVin ipv70_aVio ipv71_aVip ipv72_aViq
ipv73_aVir ipv74_aVis ipv75_aVit ipv76_aViu
ipv77_aViv ipv78_aViw ipv79_aVix ipv80_aViy
ipv81_aViz ipv82_aViA ipv83_aViB ipv84_aViC
ipv85_aViD ipv86_aViE ipv87_aViF ipv88_aViG
ipv89_aViH ipv90_aViI ipv91_aViJ ipv92_aViK
ipv93_aViL ipv94_aViM ipv95_aViN ipv96_aViO
ipv97_aViP ipv98_aViQ ipv99_aViR ipv100_aViS
ipv101_aViT ipv102_aViU ipv103_aViV ipv104_aViW
ipv105_aViX ipv106_aViY ipv107_aViZ ipv108_aVj0
ipv109_aVj1 ipv110_aVj2 ipv111_aVj3 ipv112_aVj4
ipv113_aVj5 ipv114_aVj6 ipv115_aVj7 ipv116_aVj8
ipv117_aVj9 ipv118_aVja ipv119_aVjb ipv120_aVjc
ipv121_aVjd ipv122_aVje ipv123_aVjf ipv124_aVjg
ipv125_aVjh ipv126_aVji ipv127_aVjj ipv128_aVjk
ipv129_aVjl ipv130_aVjm ipv131_aVjn ipv132_aVjo
ipv133_aVjp ipv134_aVjq ipv135_aVjr ipv136_aVjs
ipv137_aVjt ipv138_aVju ipv139_aVjv ipv140_aVjw
ipv141_aVjx ipv142_aVjy ipv143_aVjz ipv144_aVjA
ipv145_aVjB ipv146_aVjC ipv147_aVjD ipv148_aVjE
ipv149_aVjF ipv150_aVjG ipv151_aVjH ipv152_aVjI
ipv153_aVjJ ipv154_aVjK ipv155_aVjL ipv156_aVjM
ipv157_aVjN ipv158_aVjO ipv159_aVjP ipv160_aVjQ
ipv161_aVjR ipv162_aVjS ipv163_aVjT ipv164_aVjU
ipv165_aVjV ipv166_aVjW ipv167_aVjX ipv168_aVjY
ipv169_aVjZ ipv170_aVk0 ipv171_aVk1 ipv172_aVk2
ipv173_aVk3 ipv174_aVk4 ipv175_aVk5 ipv176_aVk6
ipv177_aVk7 ipv178_aVk8 ipv179_aVk9 ipv180_aVka
ipv181_aVkb ipv182_aVkc ipv183_aVkd ipv184_aVke
ipv185_aVkf ipv186_aVkg ipv187_aVkh ipv188_aVki
ipv189_aVkj ipv190_aVkk ipv191_aVkl ipv192_aVkm
ipv193_aVkn ipv194_aVko ipv195_aVkp ipv196_aVkq
ipv197_aVkr ipv198_aVks ipv199_aVkt ipv200_aVku
ipv201_aVkv ipv202_aVkw ipv203_aVkx ipv204_aVky
ipv205_aVkz ipv206_aVkA ipv207_aVkB ipv208_aVkC
ipv209_aVkD ipv210_aVkE ipv211_aVkF ipv212_aVkG
ipv213_aVkH ipv214_aVkI ipv215_aVkJ ipv216_aVkK
ipv217_aVkL ipv218_aVkM ipv219_aVkN ->
case $wmember
10#
(ipv162_aVjS
`cast` (N:EnumSet[0] <WarningFlag>_P
:: EnumSet WarningFlag ~R# IntSet))
of {
False -> jump $w$j_s16LU w_s16M0;
True ->
case go25_s19f8 field_info_sXqd of wild5_aEbU {
[] -> jump $w$j_s16LU w_s16M0;
: ipv220_aEbY ipv221_aEbZ ->
case addWarnTc1
lvl75_r1aYw
(missingFields_rpHs ipv3_aSMo wild5_aEbU)
wild2_aVgX
w_s16M0
of
{ (# ipv222_XTVw, ipv223_XTVy #) ->
jump $w$j_s16LU ipv222_XTVw
}
}
}
}
}
} } in
case go26_s19eT field_info_sXqd of wild2_aSK1 {
[] -> jump $w$j1_s16M2 ipv2_aSMn;
: ds5_aSK5 ds6_aSK6 ->
case ((((noinline
@ (TcM TidyEnv)
(tcInitTidyEnv1
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<TidyEnv>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<TidyEnv>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, TidyEnv #))
~R# IOEnv
(Env TcGblEnv TcLclEnv) TidyEnv)))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <TidyEnv>_R
:: IOEnv (Env TcGblEnv TcLclEnv) TidyEnv
~R# (Env TcGblEnv TcLclEnv -> IO TidyEnv)))
env_aSMj)
`cast` (N:IO[0] <TidyEnv>_R
:: IO TidyEnv
~R# (State# RealWorld
-> (# State# RealWorld, TidyEnv #))))
ipv2_aSMn
of
{ (# ipv4_aTHO, ipv5_aTHP #) ->
case addErrTc2
(ipv5_aTHP, missingStrictFields_rpHr ipv3_aSMo wild2_aSK1)
env_aSMj
ipv4_aTHO
of
{ (# ipv6_aTsT, ipv7_aTsU #) ->
jump $w$j1_s16M2 ipv6_aTsT
}
}
} } in
case ipv3_aSMo of {
RealDataCon data_con_aE7j ->
case data_con_aE7j of
{ MkData ds5_aE7o ds6_aE7p ds7_aE7q ds8_aE7r ds9_aE7s ds10_aE7t
ds11_aE7u ds12_aE7v ds13_aE7w ds14_aE7x ds15_aE7y ds16_aE7z
ds17_aE7A ds18_aE7B ds19_aE7C ds20_aE7D ds21_aE7K ds22_aE7L
ds23_aE7M ds24_aE7N ds25_aE7O ds26_aE7P ->
jump $j2_s17op
(zip @ (FieldLbl Name) @ HsImplBang ds18_aE7B field_strs_sXqf)
};
PatSynCon pat_syn_aE7S ->
case pat_syn_aE7S of
{ MkPatSyn ds5_aE7X ds6_aE7Y ds7_aE7Z ds8_aE80 ds9_aE81 ds10_aE82
ds11_aE83 ds12_aE84 ds13_aE85 ds14_aE86 ds15_aE87 ds16_aE88
ds17_aE89 ->
jump $j2_s17op
(zip @ (FieldLbl Name) @ HsImplBang ds10_aE82 field_strs_sXqf)
}
} } in
join {
$j2_sYwQ [Dmd=<L,1*U>] :: (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(0)]]
$j2_sYwQ
= join {
$j3_s14Hi :: (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(0)]]
$j3_s14Hi
= case ((((noinline
@ (TcM TidyEnv)
(tcInitTidyEnv1
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0]
<TidyEnv>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<TidyEnv>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld
-> (# State# RealWorld, TidyEnv #))
~R# IOEnv (Env TcGblEnv TcLclEnv) TidyEnv)))
`cast` (N:IOEnv[0] <Env TcGblEnv TcLclEnv>_R <TidyEnv>_R
:: IOEnv (Env TcGblEnv TcLclEnv) TidyEnv
~R# (Env TcGblEnv TcLclEnv -> IO TidyEnv)))
env_aSMj)
`cast` (N:IO[0] <TidyEnv>_R
:: IO TidyEnv
~R# (State# RealWorld
-> (# State# RealWorld, TidyEnv #))))
ipv2_aSMn
of
{ (# ipv4_aTHO, ipv5_aTHP #) ->
case addErrTc2
(ipv5_aTHP,
missingStrictFields_rpHr ipv3_aSMo ([] @ FieldLabelString))
env_aSMj
ipv4_aTHO
of
{ (# ipv6_aTsT, ipv7_aTsU #) ->
jump $w$j_s16LU ipv6_aTsT
}
} } in
join {
$j4_s14Hh :: (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(0)]]
$j4_s14Hh
= case env_aSMj of wild2_aVgX
{ Env ds5_aVgZ dt_aVh0 ds6_aVh1 ds7_aVh2 ->
case ds5_aVgZ of
{ HscEnv ds8_s19eH ds9_s19eI ds10_s19eJ ds11_s19eK ds12_s19eL
dt1_s19eM dt2_s19eN dt3_s19eO ds13_s19eP ds14_s19eQ
ds15_s19eR ->
case ds8_s19eH of
{ DynFlags ipv4_aVhk ipv5_aVhl ipv6_aVhm ipv7_aVhn ipv8_aVho
ipv9_aVhp ipv10_aVhq ipv11_aVhr ipv12_aVhs ipv13_aVht
ipv14_aVhu ipv15_aVhv ipv16_aVhw ipv17_aVhx ipv18_aVhy
ipv19_aVhz ipv20_aVhA ipv21_aVhB ipv22_aVhC ipv23_aVhD
ipv24_aVhE ipv25_aVhF ipv26_aVhG ipv27_aVhH ipv28_aVhI
ipv29_aVhJ ipv30_aVhK ipv31_aVhL ipv32_aVhM ipv33_aVhN
ipv34_aVhO ipv35_aVhP ipv36_aVhQ ipv37_aVhR ipv38_aVhS
ipv39_aVhT ipv40_aVhU ipv41_aVhV ipv42_aVhW ipv43_aVhX
ipv44_aVhY ipv45_aVhZ ipv46_aVi0 ipv47_aVi1 ipv48_aVi2
ipv49_aVi3 ipv50_aVi4 ipv51_aVi5 ipv52_aVi6 ipv53_aVi7
ipv54_aVi8 ipv55_aVi9 ipv56_aVia ipv57_aVib ipv58_aVic
ipv59_aVid ipv60_aVie ipv61_aVif ipv62_aVig ipv63_aVih
ipv64_aVii ipv65_aVij ipv66_aVik ipv67_aVil ipv68_aVim
ipv69_aVin ipv70_aVio ipv71_aVip ipv72_aViq ipv73_aVir
ipv74_aVis ipv75_aVit ipv76_aViu ipv77_aViv ipv78_aViw
ipv79_aVix ipv80_aViy ipv81_aViz ipv82_aViA ipv83_aViB
ipv84_aViC ipv85_aViD ipv86_aViE ipv87_aViF ipv88_aViG
ipv89_aViH ipv90_aViI ipv91_aViJ ipv92_aViK ipv93_aViL
ipv94_aViM ipv95_aViN ipv96_aViO ipv97_aViP ipv98_aViQ
ipv99_aViR ipv100_aViS ipv101_aViT ipv102_aViU ipv103_aViV
ipv104_aViW ipv105_aViX ipv106_aViY ipv107_aViZ
ipv108_aVj0 ipv109_aVj1 ipv110_aVj2 ipv111_aVj3
ipv112_aVj4 ipv113_aVj5 ipv114_aVj6 ipv115_aVj7
ipv116_aVj8 ipv117_aVj9 ipv118_aVja ipv119_aVjb
ipv120_aVjc ipv121_aVjd ipv122_aVje ipv123_aVjf
ipv124_aVjg ipv125_aVjh ipv126_aVji ipv127_aVjj
ipv128_aVjk ipv129_aVjl ipv130_aVjm ipv131_aVjn
ipv132_aVjo ipv133_aVjp ipv134_aVjq ipv135_aVjr
ipv136_aVjs ipv137_aVjt ipv138_aVju ipv139_aVjv
ipv140_aVjw ipv141_aVjx ipv142_aVjy ipv143_aVjz
ipv144_aVjA ipv145_aVjB ipv146_aVjC ipv147_aVjD
ipv148_aVjE ipv149_aVjF ipv150_aVjG ipv151_aVjH
ipv152_aVjI ipv153_aVjJ ipv154_aVjK ipv155_aVjL
ipv156_aVjM ipv157_aVjN ipv158_aVjO ipv159_aVjP
ipv160_aVjQ ipv161_aVjR ipv162_aVjS ipv163_aVjT
ipv164_aVjU ipv165_aVjV ipv166_aVjW ipv167_aVjX
ipv168_aVjY ipv169_aVjZ ipv170_aVk0 ipv171_aVk1
ipv172_aVk2 ipv173_aVk3 ipv174_aVk4 ipv175_aVk5
ipv176_aVk6 ipv177_aVk7 ipv178_aVk8 ipv179_aVk9
ipv180_aVka ipv181_aVkb ipv182_aVkc ipv183_aVkd
ipv184_aVke ipv185_aVkf ipv186_aVkg ipv187_aVkh
ipv188_aVki ipv189_aVkj ipv190_aVkk ipv191_aVkl
ipv192_aVkm ipv193_aVkn ipv194_aVko ipv195_aVkp
ipv196_aVkq ipv197_aVkr ipv198_aVks ipv199_aVkt
ipv200_aVku ipv201_aVkv ipv202_aVkw ipv203_aVkx
ipv204_aVky ipv205_aVkz ipv206_aVkA ipv207_aVkB
ipv208_aVkC ipv209_aVkD ipv210_aVkE ipv211_aVkF
ipv212_aVkG ipv213_aVkH ipv214_aVkI ipv215_aVkJ
ipv216_aVkK ipv217_aVkL ipv218_aVkM ipv219_aVkN ->
case $wmember
10#
(ipv162_aVjS
`cast` (N:EnumSet[0] <WarningFlag>_P
:: EnumSet WarningFlag ~R# IntSet))
of {
False -> jump $w$j_s16LU ipv2_aSMn;
True ->
case field_strs_sXqf of {
[] -> jump $w$j_s16LU ipv2_aSMn;
: ipv220_aEbY ipv221_aEbZ ->
join {
$j5_sYwE [Dmd=<L,1*U>]
:: (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(0)]]
$j5_sYwE
= case addWarnTc1
lvl75_r1aYw
(missingFields_rpHs
ipv3_aSMo ([] @ FieldLabelString))
wild2_aVgX
ipv2_aSMn
of
{ (# ipv222_aTsT, ipv223_aTsU #) ->
jump $w$j_s16LU ipv222_aTsT
} } in
case ipv3_aSMo of {
RealDataCon data_con_aE7j ->
case data_con_aE7j of
{ MkData ds16_aE7o ds17_aE7p ds18_aE7q ds19_aE7r
ds20_aE7s ds21_aE7t ds22_aE7u ds23_aE7v
ds24_aE7w ds25_aE7x ds26_aE7y ds27_aE7z
ds28_aE7A ds29_aE7B ds30_aE7C ds31_aE7D
ds32_aE7K ds33_aE7L ds34_aE7M ds35_aE7N
ds36_aE7O ds37_aE7P ->
case ds29_aE7B of {
[] -> jump $j5_sYwE;
: ds38_aSK5 ds39_aSK6 -> jump $w$j_s16LU ipv2_aSMn
}
};
PatSynCon pat_syn_aE7S ->
case pat_syn_aE7S of
{ MkPatSyn ds16_aE7X ds17_aE7Y ds18_aE7Z ds19_aE80
ds20_aE81 ds21_aE82 ds22_aE83 ds23_aE84
ds24_aE85 ds25_aE86 ds26_aE87 ds27_aE88
ds28_aE89 ->
case ds21_aE82 of {
[] -> jump $j5_sYwE;
: ds29_aSK5 ds30_aSK6 -> jump $w$j_s16LU ipv2_aSMn
}
}
}
}
}
}
}
} } in
joinrec {
go27_aSw3 [Occ=LoopBreaker]
:: [HsImplBang] -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<S,1*U>, Unf=OtherCon []]
go27_aSw3 (ds5_aSw4 :: [HsImplBang])
= case ds5_aSw4 of {
[] -> jump $j4_s14Hh;
: y_aSw9 ys_aSwa ->
case y_aSw9 of {
HsLazy -> jump go27_aSw3 ys_aSwa;
HsStrict -> jump $j3_s14Hi;
HsUnpack ds6_aEbG -> jump $j3_s14Hi
}
}; } in
jump go27_aSw3 field_strs_sXqf } in
case ipv3_aSMo of {
RealDataCon data_con_aE7j ->
case data_con_aE7j of
{ MkData ds5_aE7o ds6_aE7p ds7_aE7q ds8_aE7r ds9_aE7s ds10_aE7t
ds11_aE7u ds12_aE7v ds13_aE7w ds14_aE7x ds15_aE7y ds16_aE7z
ds17_aE7A ds18_aE7B ds19_aE7C ds20_aE7D ds21_aE7K ds22_aE7L
ds23_aE7M ds24_aE7N ds25_aE7O ds26_aE7P ->
case ds18_aE7B of {
[] -> jump $j2_sYwQ;
: ds27_aSK5 ds28_aSK6 -> jump $j1_sYwP
}
};
PatSynCon pat_syn_aE7S ->
case pat_syn_aE7S of
{ MkPatSyn ds5_aE7X ds6_aE7Y ds7_aE7Z ds8_aE80 ds9_aE81 ds10_aE82
ds11_aE83 ds12_aE84 ds13_aE85 ds14_aE86 ds15_aE87 ds16_aE88
ds17_aE89 ->
case ds10_aE82 of {
[] -> jump $j2_sYwQ;
: ds18_aSK5 ds19_aSK6 -> jump $j1_sYwP
}
}
} } in
case ipv1_aVfC of wild2_aVfE {
__DEFAULT ->
case tcGetDefaultTys4
@ ConLike
tcLookupConLike2
(AGlobal wild2_aVfE)
(con_name_aseM
`cast` (Sub (D:R:IdPGhcPass0[0]) :: IdP GhcRn ~R# Name))
env_aSMj
ipv_aVfB
of
{ (# ipv2_aSMn, ipv3_aSMo #) ->
jump $j_sYwW ipv2_aSMn ipv3_aSMo
};
AConLike cl_aVfH -> jump $j_sYwW ipv_aVfB cl_aVfH
}
})
`cast` ((<Env TcGblEnv TcLclEnv>_R
->_R Sym (N:IO[0] <HsExpr GhcTcId>_R)) ; Sym (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R
<HsExpr GhcTcId>_R)
:: (Env TcGblEnv TcLclEnv
-> State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #))
~R# IOEnv (Env TcGblEnv TcLclEnv) (HsExpr GhcTcId))
};
RecordUpd ds1_dShD ds2_dShE ds3_dShF ->
let {
lvl168_s19cV :: CtOrigin
[LclId]
lvl168_s19cV = exprCtOrigin wild_X5R } in
let {
lvl169_sXSE :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl169_sXSE = Just @ (HsExpr GhcRn) wild_X5R } in
let {
lvl170_sYx1 :: HsExpr GhcRn
[LclId]
lvl170_sYx1
= case ds2_dShE
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))))_R
:: GenLocated SrcSpan (HsExpr GhcRn)
~R# GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))))
of
{ L ds4_aDdY e_aDdZ ->
e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))
~R# HsExpr GhcRn)
} } in
let {
lvl171_sXSF :: Maybe (HsExpr GhcRn)
[LclId, Unf=OtherCon []]
lvl171_sXSF = Just @ (HsExpr GhcRn) lvl170_sYx1 } in
let {
d53_sXqz :: [SDoc]
[LclId]
d53_sXqz
= punctuate
($fOutputableIntMap4
`cast` (Sym (N:SDoc[0]) :: (SDocContext -> Doc) ~R# SDoc))
(map
@ (GenLocated SrcSpan (HsRecUpdField GhcRn))
@ SDoc
(lvl134_r1b1g
`cast` (<GenLocated SrcSpan (HsRecUpdField GhcRn)>_R
->_R Sym (N:SDoc[0])
:: (GenLocated SrcSpan (HsRecUpdField GhcRn) -> SDocContext -> Doc)
~R# (GenLocated SrcSpan (HsRecUpdField GhcRn) -> SDoc)))
ds3_dShF) } in
let {
lvl172_sZ5U :: SDocContext -> Doc
[LclId, Arity=1, Str=<L,U>, Unf=OtherCon []]
lvl172_sZ5U
= \ (sty_aTSa :: SDocContext) ->
$wsep1
True
lvl93_r1aZ2
0#
(: @ Doc
($wmkNest 2# (reduceDoc ($fOutputableIntMap3 d53_sXqz sty_aTSa)))
([] @ Doc)) } in
let {
lvl173_sXRn :: Maybe (LHsSigWcType GhcRn)
[LclId]
lvl173_sXRn
= case ds2_dShE
`cast` ((GenLocated
<SrcSpan>_R
(Sub (Sym (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N))))_R
:: GenLocated SrcSpan (HsExpr GhcRn)
~R# GenLocated
SrcSpan (SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))))
of
{ L ds4_aDdY e_aDdZ ->
obviousSig_rpHd
(e_aDdZ
`cast` (Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N <HsExpr GhcRn>_N)
:: SrcSpanLess (GenLocated SrcSpan (HsExpr GhcRn))
~R# HsExpr GhcRn))
} } in
let {
lvl174_sXRa :: Maybe [(LHsRecUpdField GhcRn, Name)]
[LclId]
lvl174_sXRa = go19_r1b28 ds3_dShF } in
let {
ds4_sXqt [Dmd=<L,C(C1(U(U,1*U(1*U(U,1*U),U))))>]
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcRhoType)
[LclId]
ds4_sXqt = tcInferRho ds2_dShE } in
(\ (env_aSMj :: Env TcGblEnv TcLclEnv)
(s2_aSMk :: State# RealWorld) ->
case (((ds4_sXqt
`cast` (N:IOEnv[0]
<Env TcGblEnv TcLclEnv>_R <(LHsExpr GhcTcId, TcRhoType)>_R
:: IOEnv (Env TcGblEnv TcLclEnv) (LHsExpr GhcTcId, TcRhoType)
~R# (Env TcGblEnv TcLclEnv -> IO (LHsExpr GhcTcId, TcRhoType))))
env_aSMj)
`cast` (N:IO[0] <(LHsExpr GhcTcId, TcRhoType)>_R
:: IO (LHsExpr GhcTcId, TcRhoType)
~R# (State# RealWorld
-> (# State# RealWorld, (LHsExpr GhcTcId, TcRhoType) #))))
s2_aSMk
of
{ (# ipv_aSMn, ipv1_aSMo #) ->
case ipv1_aSMo of { (record_expr'_atkP, record_rho_atkQ) ->
join {
$j_sYC7 [Dmd=<L,1*C1(C1(U))>]
:: State# RealWorld
-> [LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)]
-> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(2)], Arity=2, Str=<L,U><S,U>, Unf=OtherCon []]
$j_sYC7 (ipv2_XSSH [OS=OneShot] :: State# RealWorld)
(ipv3_XSSJ [OS=OneShot]
:: [LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)])
= case go18_r1b27 ipv3_XSSJ of wild2_aSK1 {
[] ->
let {
upd_flds_sXqZ [Dmd=<S,U>]
:: [AmbiguousFieldOcc (GhcPass 'Typechecked)]
[LclId]
upd_flds_sXqZ
= map
@ (GenLocated
SrcSpan (HsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)))
@ (AmbiguousFieldOcc (GhcPass 'Typechecked))
(lvl76_r1aYy
`cast` (<LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)>_R
->_R Sub (D:R:SrcSpanLessGenLocated[0]
<SrcSpan>_N
<AmbiguousFieldOcc (GhcPass 'Typechecked)>_N)
:: (LHsRecField' (AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)
-> SrcSpanLess
(GenLocated
SrcSpan
(AmbiguousFieldOcc (GhcPass 'Typechecked))))
~R# (LHsRecField'
(AmbiguousFieldOcc GhcTc) (LHsExpr GhcRn)
-> AmbiguousFieldOcc (GhcPass 'Typechecked))))
ipv3_XSSJ } in
let {
sel_ids_sXqX [Dmd=<S,U>] :: [Id]
[LclId]
sel_ids_sXqX
= map
@ (AmbiguousFieldOcc GhcTc)
@ Var
selectorAmbiguousFieldOcc
upd_flds_sXqZ } in
case $wgo6_r1b26 sel_ids_sXqX of { (# ww1_s170g, ww2_s170h #) ->
join {
$w$j_s16N1 [InlPrag=NOUSERINLINE[2], Dmd=<L,1*C1(U)>]
:: State# RealWorld -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<L,U>, Unf=OtherCon []]
$w$j_s16N1 (w_s16MZ [OS=OneShot] :: State# RealWorld)
= case sel_ids_sXqX of {
[] -> case lvl79_r1aYB of wild4_00 { };
: sel_id_XtIL ds6_dL0q ->
case sel_id_XtIL of wild4_aKYf {
__DEFAULT -> case idDetails1 wild4_aKYf of wild5_00 { };
Id ds7_aKYh dt_aKYi ds8_aKYj ds9_aKYk ds10_aKYl ds11_aKYm ->
join {
$j1_s17s2 [Dmd=<C(S),1*C1(U)>]
:: [ConLike] -> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<S,U>, Unf=OtherCon []]
$j1_s17s2 (con_likes_sXrV [OS=OneShot] :: [ConLike])
= let {
upd_fld_occs_sXqY :: [FastString]
[LclId]
upd_fld_occs_sXqY
= map
@ (AmbiguousFieldOcc (GhcPass 'Typechecked))
@ FastString
lvl77_r1aYz
upd_flds_sXqZ } in
let {
relevant_cons_sXrU [Dmd=<S,U>] :: [ConLike]
[LclId]
relevant_cons_sXrU
= conLikesWithFields
con_likes_sXrV upd_fld_occs_sXqY } in
join {
$w$j1_s16MO [InlPrag=NOUSERINLINE[2], Dmd=<L,1*C1(U)>]
:: State# RealWorld
-> (# State# RealWorld, HsExpr GhcTcId #)
[LclId[JoinId(1)], Arity=1, Str=<L,U>, Unf=OtherCon []]
$w$j1_s16MO (w1_s16MM [OS=OneShot] :: State# RealWorld)
= case relevant_cons_sXrU of wild5_aDzq {
[] -> case badHead of wild6_00 { };
: x_aDzu ds12_aDzv ->
join {
$w$j2_s16ML [InlPrag=NOUSERINLINE[2],
Dmd=<L,1*C1(U)>]
:: State# RealWorld
-> (# State# RealWorld,
HsExpr GhcTcId #)
[LclId[JoinId(1)],
Arity=1,
Str=<L,U>,
Unf=OtherCon []]
$w$j2_s16ML (w2_s16MJ [OS=OneShot]
:: State# RealWorld)
= let {
ds13_sXsm [Dmd=<L,U(1*U,A,A,A,1*U,1*U,A)>]
:: ([TyVar], [TyCoVar], [EqSpec],
ThetaType, ThetaType, [Type],
Type)
[LclId]
ds13_sXsm
= case x_aDzu of {
RealDataCon con_aEym ->
(case con_aEym of
{ MkData ds14_aEyq ds15_aEyr
ds16_aEys ds17_aEyt
ds18_aEyu ds19_aEyv
ds20_aEyw ds21_aEyx
ds22_aEyy ds23_aEyz
ds24_aEyA ds25_aEyB
ds26_aEyC ds27_aEyD
ds28_aEyE ds29_aEyF
ds30_aEyG ds31_aEyH
ds32_aEyI ds33_aEyJ
ds34_aEyK
ds35_aEyL ->
ds18_aEyu
},
case con_aEym of
{ MkData ds14_aEyP ds15_aEyQ
ds16_aEyR ds17_aEyS
ds18_aEyT ds19_aEyU
ds20_aEyV ds21_aEyW
ds22_aEyX ds23_aEyY
ds24_aEyZ ds25_aEz0
ds26_aEz1 ds27_aEz2
ds28_aEz3 ds29_aEz4
ds30_aEz5 ds31_aEz6
ds32_aEz7 ds33_aEz8
ds34_aEz9
ds35_aEza ->
ds19_aEyU
},
case con_aEym of
{ MkData ds14_aEze ds15_aEzf
ds16_aEzg ds17_aEzh
ds18_aEzi ds19_aEzj
ds20_aEzk ds21_aEzl
ds22_aEzm ds23_aEzn
ds24_aEzo ds25_aEzp
ds26_aEzq ds27_aEzr
ds28_aEzs ds29_aEzt
ds30_aEzu ds31_aEzv
ds32_aEzw ds33_aEzx
ds34_aEzy
ds35_aEzz ->
ds21_aEzl
},
case con_aEym of
{ MkData ds14_aEzD ds15_aEzE
ds16_aEzF ds17_aEzG
ds18_aEzH ds19_aEzI
ds20_aEzJ ds21_aEzK
ds22_aEzL ds23_aEzM
ds24_aEzN ds25_aEzO
ds26_aEzP ds27_aEzQ
ds28_aEzR ds29_aEzS
ds30_aEzT ds31_aEzU
ds32_aEzV ds33_aEzW
ds34_aEzX
ds35_aEzY ->
ds22_aEzL
},
[] @ PredType,
case con_aEym of
{ MkData ds14_aEA2 ds15_aEA3
ds16_aEA4 ds17_aEA5
ds18_aEA6 ds19_aEA7
ds20_aEA8 ds21_aEA9
ds22_aEAa ds23_aEAb
ds24_aEAc ds25_aEAd
ds26_aEAe ds27_aEAf
ds28_aEAg ds29_aEAh
ds30_aEAi ds31_aEAj
ds32_aEAk ds33_aEAl
ds34_aEAm
ds35_aEAn ->
ds24_aEAc
},
case con_aEym of
{ MkData ds14_aEAr ds15_aEAs
ds16_aEAt ds17_aEAu
ds18_aEAv ds19_aEAw
ds20_aEAx ds21_aEAy
ds22_aEAz ds23_aEAA
ds24_aEAB ds25_aEAC
ds26_aEAD ds27_aEAE
ds28_aEAF ds29_aEAG
ds30_aEAH ds31_aEAI
ds32_aEAJ ds33_aEAK
ds34_aEAL
ds35_aEAM ->
ds25_aEAC
});
PatSynCon pat_syn_aEAQ ->
let {
ds14_aEAP [Dmd=<L,U(1*U,1*U,A,A,1*U,A)>]
:: ([TyVar], ThetaType,
[TyVar], ThetaType,
[Type], Type)
[LclId]
ds14_aEAP
= case pat_syn_aEAQ of
{ MkPatSyn ds15_aEAX
ds16_aEAY
ds17_aEAZ
ds18_aEB0
ds19_aEB1
ds20_aEB2
ds21_aEB3
ds22_aEB4
ds23_aEB5
ds24_aEB6
ds25_aEB7
ds26_aEB8
ds27_aEB9 ->
(binderVars
@ TyVar
@ ArgFlag
ds21_aEB3,
ds22_aEB4,
binderVars
@ TyVar
@ ArgFlag
ds23_aEB5,
ds24_aEB6, ds17_aEAZ,
ds25_aEB7)
} } in
(case ds14_aEAP of
{ (univ_tvs_aEBd, req_aEBe,
ex_tvs_aEBf, prov_aEBg,
arg_tys_aEBh,
res_ty1_aEBi) ->
univ_tvs_aEBd
},
case ds14_aEAP of
{ (univ_tvs_aEBm, req_aEBn,
ex_tvs_aEBo, prov_aEBp,
arg_tys_aEBq,
res_ty1_aEBr) ->
ex_tvs_aEBo
},
[] @ EqSpec,
case ds14_aEAP of
{ (univ_tvs_aEBv, req_aEBw,
ex_tvs_aEBx, prov_aEBy,
arg_tys_aEBz,
res_ty1_aEBA) ->
prov_aEBy
},
case ds14_aEAP of
{ (univ_tvs_aEBE, req_aEBF,
ex_tvs_aEBG, prov_aEBH,
arg_tys_aEBI,
res_ty1_aEBJ) ->
req_aEBF
},
case ds14_aEAP of
{ (univ_tvs_aEBN, req_aEBO,
ex_tvs_aEBP, prov_aEBQ,
arg_tys_aEBR,
res_ty1_aEBS) ->
arg_tys_aEBR
},
case ds14_aEAP of
{ (univ_tvs_aEBW, req_aEBX,
ex_tvs_aEBY, prov_aEBZ,
arg_tys_aEC0,
res_ty1_aEC1) ->
res_ty1_aEC1
})
} } in
let {
con1_tvs_sXsl :: [TyVar]
[LclId]
con1_tvs_sXsl
= case ds13_sXsm of
{ (con1_tvs1_XtJd, ds14_dKVg,
ds15_dKVh, _prov_theta_atBZ,
req_theta_atC0,
con1_arg_tys_atC1, ds16_dKVi) ->
con1_tvs1_XtJd
} } in
let {
con1_arg_tys_sXsk :: [Type]
[LclId]
con1_arg_tys_sXsk
= case ds13_sXsm of
{ (con1_tvs1_XtEm, ds14_dKVZ,
ds15_dKW0, _prov_theta_atBZ,
req_theta_XtEs,
con1_arg_tys1_XtJp,
ds16_dKW1) ->
con1_arg_tys1_XtJp
} } in
let {
con1_tv_set_sXsh :: VarSet
[LclId]
con1_tv_set_sXsh
= extendVarSetList_go
con1_tvs_sXsl
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap Var
~R# UniqSet
Var)) } in
let {
arg1_sYyD [Dmd=<L,C(C1(C1(U)))>]
:: FastString
-> ([Type]
-> [(FastString, Type)])
-> [Type]
-> [(FastString, Type)]
[LclId,
Arity=3,
Str=<L,U><L,1*C1(U)><S,1*U>,
Unf=OtherCon []]
arg1_sYyD
= \ (_x_aVnl :: FastString)
(_r_aVnm [OS=OneShot]
:: [Type]
-> [(FastString, Type)])
(ds14_aVnn [OS=OneShot]
:: [Type]) ->
case ds14_aVnn of {
[] -> [] @ (FastString, Type);
: y_aVns ys_aVnt ->
case elem
@ FastString
$fEqFastString
_x_aVnl
upd_fld_occs_sXqY
of {
False -> _r_aVnm ys_aVnt;
True ->
case difference1
@ Var
@ Var
((ty_co_vars_of_type
y_aVns
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap
Var
~R# UniqSet
Var))
((Nil @ Var)
`cast` ((Sym (N:UniqFM[0]) ; Sym (N:UniqSet[0])) <Var>_N
:: IntMap
Var
~R# UniqSet
Var)))
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Var>_N
:: UniqSet
Var
~R# IntMap
Var))
(con1_tv_set_sXsh
`cast` ((N:UniqSet[0] ; N:UniqFM[0]) <Var>_N
:: UniqSet
Var
~R# IntMap
Var))
of {
__DEFAULT ->
: @ (FastString,
Type)
(_x_aVnl, y_aVns)
(_r_aVnm ys_aVnt);
Nil -> _r_aVnm ys_aVnt
}
}
} } in
join {
$w$j3_s16MA [InlPrag=NOUSERINLINE[2],
Dmd=<L,1*C1(U)>]
:: State# RealWorld
-> (# State# RealWorld,
HsExpr GhcTcId #)
[LclId[JoinId(1)],
Arity=1,
Str=<L,U>,
Unf=OtherCon []]
$w$j3_s16MA (w3_s16My [OS=OneShot]
:: State# RealWorld)
= case (((($wmapAccumLM
@ (IOEnv
(Env
TcGblEnv
TcLclEnv))
@ TCvSubst
@ TyVar
@ TcTyVar
(($fMonadIOEnv1
@ (Env
TcGblEnv
TcLclEnv))
`cast` (forall (a :: <*>_N) (b :: <*>_N).
<IOEnv
(Env
TcGblEnv
TcLclEnv)
a>_R
->_R <a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b>_R
->_R (<Env
TcGblEnv
TcLclEnv>_R
->_R Sym (N:IO[0]
<b>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<b>_R)
:: (forall a b.
IOEnv
(Env
TcGblEnv
TcLclEnv)
a
-> (a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b)
-> Env
TcGblEnv
TcLclEnv
-> State#
RealWorld
-> (# State#
RealWorld,
b #))
~R# (forall a
b.
IOEnv
(Env
TcGblEnv
TcLclEnv)
a
-> (a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b)
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b)))
(($fApplicativeIOEnv5
@ (Env
TcGblEnv
TcLclEnv))
`cast` (forall (a :: <*>_N).
<a>_R
->_R (<Env
TcGblEnv
TcLclEnv>_R
->_R Sym (N:IO[0]
<a>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<a>_R)
:: (forall a.
a
-> Env
TcGblEnv
TcLclEnv
-> State#
RealWorld
-> (# State#
RealWorld,
a #))
~R# (forall a.
a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
a)))
newMetaTyVarX
emptyTCvSubst
con1_tvs_sXsl)
`cast` (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TCvSubst,
[TcTyVar])>_R
:: IOEnv
(Env
TcGblEnv
TcLclEnv)
(TCvSubst,
[TcTyVar])
~R# (Env
TcGblEnv
TcLclEnv
-> IO
(TCvSubst,
[TcTyVar]))))
env_aSMj)
`cast` (N:IO[0]
<(TCvSubst,
[TcTyVar])>_R
:: IO
(TCvSubst,
[TcTyVar])
~R# (State#
RealWorld
-> (# State#
RealWorld,
(TCvSubst,
[TcTyVar]) #))))
w3_s16My
of
{ (# ipv4_XSU8, ipv5_XSUa #) ->
case ipv5_XSUa of
{ (result_subst_atD2,
con1_tvs'_atD3) ->
let {
result_inst_tys_sXsu :: [Type]
[LclId]
result_inst_tys_sXsu
= map
@ Var
@ Type
TyVarTy
con1_tvs'_atD3 } in
let {
fixed_tvs_sXsv :: TyVarSet
[LclId]
fixed_tvs_sXsv
= getFixedTyVars
upd_fld_occs_sXqY
con1_tvs_sXsl
wild5_aDzq } in
case (((($wmapAccumLM
@ (IOEnv
(Env
TcGblEnv
TcLclEnv))
@ TCvSubst
@ (TyVar, TcType)
@ TcType
(($fMonadIOEnv1
@ (Env
TcGblEnv
TcLclEnv))
`cast` (forall (a :: <*>_N) (b :: <*>_N).
<IOEnv
(Env
TcGblEnv
TcLclEnv)
a>_R
->_R <a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b>_R
->_R (<Env
TcGblEnv
TcLclEnv>_R
->_R Sym (N:IO[0]
<b>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<b>_R)
:: (forall a b.
IOEnv
(Env
TcGblEnv
TcLclEnv)
a
-> (a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b)
-> Env
TcGblEnv
TcLclEnv
-> State#
RealWorld
-> (# State#
RealWorld,
b #))
~R# (forall a
b.
IOEnv
(Env
TcGblEnv
TcLclEnv)
a
-> (a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b)
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
b)))
(($fApplicativeIOEnv5
@ (Env
TcGblEnv
TcLclEnv))
`cast` (forall (a :: <*>_N).
<a>_R
->_R (<Env
TcGblEnv
TcLclEnv>_R
->_R Sym (N:IO[0]
<a>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<a>_R)
:: (forall a.
a
-> Env
TcGblEnv
TcLclEnv
-> State#
RealWorld
-> (# State#
RealWorld,
a #))
~R# (forall a.
a
-> IOEnv
(Env
TcGblEnv
TcLclEnv)
a)))
(\ (subst_atCX
:: TCvSubst)
(ds15_dKT8 [OS=OneShot]
:: (TyVar,
TcType)) ->
case ds15_dKT8 of
{ (tv_atCY,
result_inst_ty_atCZ) ->
case elemVarSet
tv_atCY
fixed_tvs_sXsv
of {
False ->
let {
ds16_sXsx [Dmd=<L,C(C1(U(U,1*U(U,U))))>]
:: IOEnv
(Env
TcGblEnv
TcLclEnv)
(TCvSubst,
TcTyVar)
[LclId]
ds16_sXsx
= new_meta_tv_x
TauTv
subst_atCX
tv_atCY } in
(\ (env1_XSUd
:: Env
TcGblEnv
TcLclEnv)
(s3_XSUf
:: State#
RealWorld) ->
case (((ds16_sXsx
`cast` (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TCvSubst,
TcTyVar)>_R
:: IOEnv
(Env
TcGblEnv
TcLclEnv)
(TCvSubst,
TcTyVar)
~R# (Env
TcGblEnv
TcLclEnv
-> IO
(TCvSubst,
TcTyVar))))
env1_XSUd)
`cast` (N:IO[0]
<(TCvSubst,
TcTyVar)>_R
:: IO
(TCvSubst,
TcTyVar)
~R# (State#
RealWorld
-> (# State#
RealWorld,
(TCvSubst,
TcTyVar) #))))
s3_XSUf
of
{ (# ipv6_XSUl,
ipv7_XSUn #) ->
case ipv7_XSUn
of
{ (subst'_atD0,
new_tv_atD1) ->
(# ipv6_XSUl,
(subst'_atD0,
TyVarTy
new_tv_atD1) #)
}
})
`cast` ((<Env
TcGblEnv
TcLclEnv>_R
->_R Sym (N:IO[0]
<(TCvSubst,
TcType)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TCvSubst,
TcType)>_R)
:: (Env
TcGblEnv
TcLclEnv
-> State#
RealWorld
-> (# State#
RealWorld,
(TCvSubst,
TcType) #))
~R# IOEnv
(Env
TcGblEnv
TcLclEnv)
(TCvSubst,
TcType));
True ->
let {
a1_sXsB
:: TCvSubst
[LclId]
a1_sXsB
= case subst_atCX
of
{ TCvSubst in_scope_aKTe
tenv_aKTf
cenv_aKTg ->
TCvSubst
in_scope_aKTe
((extendVarEnv1
@ Type
tenv_aKTf
tv_atCY
result_inst_ty_atCZ)
`cast` (Sym (N:UniqFM[0]) <Type>_N
:: IntMap
Type
~R# UniqFM
Type))
cenv_aKTg
} } in
let {
a2_sXsA
:: (TCvSubst,
TcType)
[LclId,
Unf=OtherCon []]
a2_sXsA
= (a1_sXsB,
result_inst_ty_atCZ) } in
(\ _ [Occ=Dead]
(s3_aTtO
:: State#
RealWorld) ->
(# s3_aTtO,
a2_sXsA #))
`cast` ((<Env
TcGblEnv
TcLclEnv>_R
->_R Sym (N:IO[0]
<(TCvSubst,
TcType)>_R)) ; Sym (N:IOEnv[0]
<Env
TcGblEnv
TcLclEnv>_R
<(TCvSubst,
TcType)>_R)
:: (Env
TcGblEnv
TcLclEnv
-> State#
RealWorld
-> (# State#
RealWorld,
(TCvSubst,
TcType) #))
~R# IOEnv
(Env
TcGblEnv
TcLclEnv)
(TCvSubst,
TcType))
}
})
(TCvSubst
(case result_subst_atD2
of
{ TCvSubst in_scope_aKSY
ds15_aKSZ
ds16_aKT0 ->
in_scope_aKSY
})
((Nil @ Type)
`cast` (Sym (N:UniqFM[0]) <Type>_N
:: IntMap
Type
~R# UniqFM
Type))
((Nil @ Coercion)
`cast` (Sym (N:UniqFM[0]) <Coercion>_N
...