X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FbasicTypes%2FMkId.lhs;h=16c45b758395b1e708144b5a6dcc0cdbfe1858b4;hb=81e41fe31fb27b6330762d93ce90eb98899beb24;hp=aaeb3bc578f15fd3faf90a4a8d22a2e32937f1d1;hpb=c86161c5cf11de77e911fcb9e1e2bd1f8bd80b42;p=ghc-hetmet.git diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index aaeb3bc..16c45b7 100644 --- 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 - 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 $ @@ -467,15 +467,11 @@ mkDictSelId no_unf name clas -- 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 - -- 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