Delay inlining 'text' so that the RULE has a chance to fire
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 23 Jul 2012 08:17:33 +0000 (09:17 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 23 Jul 2012 08:17:33 +0000 (09:17 +0100)
compiler/utils/Pretty.lhs

index 5d5dec1..e4f748a 100644 (file)
@@ -555,7 +555,10 @@ isEmpty Empty = True
 isEmpty _     = False
 
 char  c = textBeside_ (Chr c) (_ILIT(1)) Empty
+
 text  s = case iUnbox (length   s) of {sl -> textBeside_ (Str s)  sl Empty}
+{-# NOINLINE [1] text #-}   -- Give the RULE a chance to fire
+
 ftext :: FastString -> Doc
 ftext s = case iUnbox (lengthFS s) of {sl -> textBeside_ (PStr s) sl Empty}
 ptext :: LitString -> Doc