Improve ThreadId Show instance
authorNathan Collins <nathan.collins@gmail.com>
Tue, 21 May 2019 17:44:55 +0000 (13:44 -0400)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Sat, 1 Jun 2019 03:55:49 +0000 (23:55 -0400)
By making it include parens when a derived instance would. For example, this changes the (hypothetical) code `show (Just (ThreadId 3))` to produce `"Just (ThreadId 3)"` instead of the current `"Just ThreadId 3"`.

libraries/base/GHC/Conc/Sync.hs

index 5c3e63a..8749199 100644 (file)
@@ -113,7 +113,7 @@ import GHC.IORef
 import GHC.MVar
 import GHC.Ptr
 import GHC.Real         ( fromIntegral )
-import GHC.Show         ( Show(..), showString )
+import GHC.Show         ( Show(..), showParen, showString )
 import GHC.Stable       ( StablePtr(..) )
 import GHC.Weak
 
@@ -145,7 +145,7 @@ This misfeature will hopefully be corrected at a later date.
 
 -- | @since 4.2.0.0
 instance Show ThreadId where
-   showsPrec d t =
+   showsPrec d t = showParen (d >= 11) $
         showString "ThreadId " .
         showsPrec d (getThreadId (id2TSO t))