Skip to content

Commit b386a14

Browse files
committed
Lots more instances for base types
1 parent ed1ed53 commit b386a14

File tree

1 file changed

+71
-2
lines changed

1 file changed

+71
-2
lines changed

src/Generics/Diff/Instances.hs

+71-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ module Generics.Diff.Instances where
1515

1616
import Control.Applicative
1717
import Control.Concurrent
18+
import Control.Exception
19+
import Data.Array.Byte
20+
import Data.Char
1821
import Data.Complex
22+
import Data.Data
1923
import Data.Fixed
2024
import qualified Data.Functor.Compose as F
2125
import Data.Functor.Identity
@@ -34,23 +38,41 @@ import qualified Data.Text as T
3438
import Data.Text.Encoding.Error (UnicodeException)
3539
import qualified Data.Text.Lazy as TL
3640
import qualified Data.Text.Lazy.Builder as TLB
37-
import Data.Typeable
41+
import Data.Type.Coercion
3842
import Data.Unique
3943
import Data.Version
4044
import Data.Void
4145
import Data.Word
46+
import Foreign.C.ConstPtr
47+
import Foreign.C.Error
4248
import Foreign.C.Types
4349
import Foreign.ForeignPtr
4450
import Foreign.Ptr
4551
import Foreign.StablePtr
52+
import GHC.Arr
53+
import GHC.Base
54+
import GHC.ByteOrder
4655
import GHC.Conc
4756
import GHC.Event
57+
import GHC.Fingerprint
58+
import qualified GHC.Generics as G
59+
import GHC.IO.Buffer
60+
import GHC.IO.Device
61+
import GHC.IOArray
62+
import GHC.IOPort
63+
import GHC.InfoProv
4864
import GHC.StableName
65+
import GHC.Stack
66+
import GHC.Stack.CloneStack
67+
import GHC.TypeLits
4968
import Generics.Diff.Class
5069
import Generics.Diff.Type
5170
import Generics.SOP
52-
import Numeric.Natural
71+
import System.Exit
5372
import System.IO
73+
import System.IO.Error
74+
import System.Timeout
75+
import Text.Read
5476
import qualified Type.Reflection as TR
5577

5678
-- primitive(ish) types
@@ -143,6 +165,53 @@ instance Diff TL.Text where diff = eqDiff
143165
instance Diff TLB.Builder where diff = eqDiff
144166
instance Diff UnicodeException where diff = eqDiff
145167

168+
instance Diff ArithException where diff = eqDiff
169+
instance Diff ArrayException where diff = eqDiff
170+
instance Diff Associativity where diff = eqDiff
171+
instance Diff AsyncException where diff = eqDiff
172+
instance Diff BlockReason where diff = eqDiff
173+
instance Diff BufferMode where diff = eqDiff
174+
instance Diff BufferState where diff = eqDiff
175+
instance Diff ByteArray where diff = eqDiff
176+
instance Diff ByteOrder where diff = eqDiff
177+
instance Diff CBool where diff = eqDiff
178+
instance Diff (Coercion a b) where diff = eqDiff
179+
instance Diff (ConstPtr a) where diff = eqDiff
180+
instance Diff DataRep where diff = eqDiff
181+
instance Diff G.DecidedStrictness where diff = eqDiff
182+
instance Diff Errno where diff = eqDiff
183+
instance Diff ErrorCall where diff = eqDiff
184+
instance Diff ExitCode where diff = eqDiff
185+
instance Diff FdKey where diff = eqDiff
186+
instance Diff Fingerprint where diff = eqDiff
187+
instance Diff G.Fixity where diff = eqDiff
188+
instance Diff GeneralCategory where diff = eqDiff
189+
instance Diff InfoProv where diff = eqDiff
190+
instance Diff (IOArray i e) where diff = eqDiff
191+
instance Diff IODeviceType where diff = eqDiff
192+
instance Diff IOErrorType where diff = eqDiff
193+
instance Diff IOException where diff = eqDiff
194+
instance Diff IOMode where diff = eqDiff
195+
instance Diff (IOPort a) where diff = eqDiff
196+
instance Diff Lexeme where diff = eqDiff
197+
instance Diff Lifetime where diff = eqDiff
198+
instance Diff MaskingState where diff = eqDiff
199+
instance Diff (MutableByteArray a) where diff = eqDiff
200+
instance Diff NewlineMode where diff = eqDiff
201+
instance Diff Newline where diff = eqDiff
202+
instance Diff (OrderingI a b) where diff = eqDiff
203+
instance Diff SeekMode where diff = eqDiff
204+
instance Diff SomeChar where diff = eqDiff
205+
instance Diff SomeNat where diff = eqDiff
206+
instance Diff SomeSymbol where diff = eqDiff
207+
instance Diff SrcLoc where diff = eqDiff
208+
instance Diff StackEntry where diff = eqDiff
209+
instance Diff (STArray s i a) where diff = eqDiff
210+
instance Diff ThreadStatus where diff = eqDiff
211+
instance Diff TimeoutKey where diff = eqDiff
212+
instance Diff Timeout where diff = eqDiff
213+
instance Diff TrName where diff = eqDiff
214+
146215
{- FOURMOLU_ENABLE -}
147216

148217
-- list-like types

0 commit comments

Comments
 (0)