+ -- Figure out whether the function has an INLINE pragma
+ -- See Note [Inline specialisations]
+ fn_has_inline_rule :: Maybe (InlineRuleInfo, Arity) -- Gives arity of the *specialised* inline rule
+ fn_has_inline_rule
+ | Just inl <- isInlineRule_maybe fn_unf
+ = case inl of
+ InlWrapper _ -> Just (InlUnSat, spec_arity)
+ _ -> Just (inl, spec_arity)
+ | otherwise = Nothing
+ where
+ spec_arity = unfoldingArity fn_unf - n_dicts