In my commit of 24 May I got this boolean condition
back to front:
tryWW non_rec fn_id rhs
| not (isNeverInlinePrag inline_prag)
= -- Don't split things that will never be inlined
The 'not' is obviously wrong! As a result virtually nothing
is being worker-wrapper'd
How this has survived for more than two weeks beats me.
pprEncodedFS :: EncodedFS -> SDoc
-pprEncodedFS fs
- = getPprStyle $ \ sty ->
- if userStyle sty then
- let
- s = decode (_UNPK_ fs)
- c = head s
- in
- if startsVarSym c || startsConSym c then
- parens (text s)
- else
- text s
- else
- ptext fs
+pprEncodedFS fs = ptext fs
\end{code}
%************************************************************************
%* *
%************************************************************************
+NB: these types get printed into interface files, so
+ don't change the printing format lightly
+
\begin{code}
instance (Outputable name) => Outputable (HsType name) where
ppr ty = pprHsType ty
-- if two, then a worker and a
-- wrapper.
tryWW non_rec fn_id rhs
- | not (isNeverInlinePrag inline_prag)
+ | isNeverInlinePrag inline_prag
= -- Don't split things that will never be inlined
returnUs [ (fn_id, rhs) ]