projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add fmapMaybeM and fmapEitherM
[ghc-hetmet.git]
/
compiler
/
basicTypes
/
MkId.lhs
diff --git
a/compiler/basicTypes/MkId.lhs
b/compiler/basicTypes/MkId.lhs
index
aaeb3bc
..
16c45b7
100644
(file)
--- a/
compiler/basicTypes/MkId.lhs
+++ b/
compiler/basicTypes/MkId.lhs
@@
-345,7
+345,7
@@
mkDataConIds wrap_name wkr_name data_con
-- ...(let w = C x in ...(w p q)...)...
-- we want to see that w is strict in its two arguments
-- ...(let w = C x in ...(w p q)...)...
-- we want to see that w is strict in its two arguments
- wrap_unf = mkInlineRule needSaturated wrap_rhs (length dict_args + length id_args)
+ wrap_unf = mkInlineRule wrap_rhs (Just (length dict_args + length id_args))
wrap_rhs = mkLams wrap_tvs $
mkLams eq_args $
mkLams dict_args $ mkLams id_args $
wrap_rhs = mkLams wrap_tvs $
mkLams eq_args $
mkLams dict_args $ mkLams id_args $
@@
-467,15
+467,11
@@
mkDictSelId no_unf name clas
-- becuase we use that to generate a top-level binding
-- for the ClassOp
-- becuase we use that to generate a top-level binding
-- for the ClassOp
- info | new_tycon = base_info
- -- For newtype dictionaries, just inline the class op
- -- See Note [Single-method classes] in TcInstDcls
- | otherwise = base_info
- `setSpecInfo` mkSpecInfo [rule]
+ info = base_info `setSpecInfo` mkSpecInfo [rule]
`setInlinePragInfo` neverInlinePragma
`setInlinePragInfo` neverInlinePragma
- -- Otherwise add a magic BuiltinRule, and never inline it
- -- so that the rule is always available to fire.
- -- See Note [ClassOp/DFun selection] in TcInstDcls
+ -- Add a magic BuiltinRule, and never inline it
+ -- so that the rule is always available to fire.
+ -- See Note [ClassOp/DFun selection] in TcInstDcls
n_ty_args = length tyvars
n_ty_args = length tyvars