make QSem and QSemN newtypes
authorchessai <chessai1996@gmail.com>
Tue, 18 Dec 2018 04:36:20 +0000 (23:36 -0500)
committerBen Gamari <ben@smart-cactus.org>
Tue, 18 Dec 2018 04:36:53 +0000 (23:36 -0500)
Reviewers: RyanGlScott, ekmett, hvr, bgamari

Reviewed By: bgamari

Subscribers: rwbarton, carter

GHC Trac Issues: #15995

Differential Revision: https://phabricator.haskell.org/D5456

libraries/base/Control/Concurrent/QSem.hs
libraries/base/Control/Concurrent/QSemN.hs

index ea39625..133d6e2 100644 (file)
@@ -1,6 +1,5 @@
 {-# LANGUAGE Safe #-}
 {-# LANGUAGE BangPatterns #-}
-{-# OPTIONS_GHC -funbox-strict-fields #-}
 
 -----------------------------------------------------------------------------
 -- |
@@ -39,7 +38,7 @@ import Data.Maybe
 --
 -- is safe; it never loses a unit of the resource.
 --
-data QSem = QSem !(MVar (Int, [MVar ()], [MVar ()]))
+newtype QSem = QSem (MVar (Int, [MVar ()], [MVar ()]))
 
 -- The semaphore state (i, xs, ys):
 --
index b8c9274..8b3ce55 100644 (file)
@@ -1,6 +1,4 @@
 {-# LANGUAGE Safe #-}
-{-# LANGUAGE BangPatterns #-}
-{-# OPTIONS_GHC -funbox-strict-fields #-}
 
 -----------------------------------------------------------------------------
 -- |
@@ -41,7 +39,7 @@ import Data.Maybe
 --
 -- is safe; it never loses any of the resource.
 --
-data QSemN = QSemN !(MVar (Int, [(Int, MVar ())], [(Int, MVar ())]))
+newtype QSemN = QSemN (MVar (Int, [(Int, MVar ())], [(Int, MVar ())]))
 
 -- The semaphore state (i, xs, ys):
 --