Make Unique a newtype
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Thu, 28 Jul 2016 15:13:54 +0000 (15:13 +0000)
committerÖmer Sinan Ağacan <omeragacan@gmail.com>
Thu, 28 Jul 2016 15:14:30 +0000 (15:14 +0000)
Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

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

compiler/basicTypes/Unique.hs

index 545ea9f..c42b825 100644 (file)
@@ -87,12 +87,10 @@ The @Chars@ are ``tag letters'' that identify the @UniqueSupply@.
 Fast comparison is everything on @Uniques@:
 -}
 
---why not newtype Int?
-
 -- | The type of unique identifiers that are used in many places in GHC
 -- for fast ordering and equality tests. You should generate these with
 -- the functions from the 'UniqSupply' module
-data Unique = MkUnique {-# UNPACK #-} !Int
+newtype Unique = MkUnique Int
 
 {-
 Now come the functions which construct uniques from their pieces, and vice versa.