summaryrefslogtreecommitdiff
path: root/libraries/base/GHC/IOArray.hs
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/base/GHC/IOArray.hs')
-rw-r--r--libraries/base/GHC/IOArray.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/libraries/base/GHC/IOArray.hs b/libraries/base/GHC/IOArray.hs
index ff9e545817..33b1804dbb 100644
--- a/libraries/base/GHC/IOArray.hs
+++ b/libraries/base/GHC/IOArray.hs
@@ -1,5 +1,5 @@
{-# LANGUAGE Unsafe #-}
-{-# LANGUAGE NoImplicitPrelude, AutoDeriveTypeable #-}
+{-# LANGUAGE NoImplicitPrelude, AutoDeriveTypeable, RoleAnnotations #-}
{-# OPTIONS_GHC -funbox-strict-fields #-}
{-# OPTIONS_HADDOCK hide #-}
@@ -41,6 +41,9 @@ import Data.Typeable.Internal
newtype IOArray i e = IOArray (STArray RealWorld i e) deriving( Typeable )
+-- index type should have a nominal role due to Ix class. See also #9220.
+type role IOArray nominal representational
+
-- explicit instance because Haddock can't figure out a derived one
instance Eq (IOArray i e) where
IOArray x == IOArray y = x == y