Skip to content

Commit 4a609d6

Browse files
committed
move instance Eq1 NValueF to the parent
1 parent 40866b7 commit 4a609d6

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/Nix/Value.hs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ import Control.Monad.Trans.Class ( MonadTrans, lift )
2727
import qualified Data.Aeson as A
2828
import Data.Functor.Classes ( Show1
2929
, liftShowsPrec
30-
, showsUnaryWith )
30+
, showsUnaryWith
31+
, Eq1(liftEq) )
3132
import Data.HashMap.Lazy ( HashMap )
3233
import Data.Text ( Text )
3334
import Data.Typeable ( Typeable )
@@ -96,6 +97,14 @@ instance Show r => Show (NValueF p m r) where
9697
showsCon1 con a d =
9798
showParen (d > 10) $ showString (con ++ " ") . showsPrec 11 a
9899

100+
instance Eq1 (NValueF p m) where
101+
liftEq _ (NVConstantF x) (NVConstantF y) = x == y
102+
liftEq _ (NVStrF x) (NVStrF y) = x == y
103+
liftEq eq (NVListF x) (NVListF y) = liftEq eq x y
104+
liftEq eq (NVSetF x _ ) (NVSetF y _ ) = liftEq eq x y
105+
liftEq _ (NVPathF x ) (NVPathF y ) = x == y
106+
liftEq _ _ _ = False
107+
99108
lmapNValueF :: Functor m => (b -> a) -> NValueF a m r -> NValueF b m r
100109
lmapNValueF f = \case
101110
NVConstantF a -> NVConstantF a

src/Nix/Value/Equal.hs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import Control.Monad.Trans.Class
3131
import Control.Monad.Trans.Except
3232
import Data.Align
3333
import Data.Eq.Deriving
34-
import Data.Functor.Classes
3534
import Data.Functor.Identity
3635
import qualified Data.HashMap.Lazy as M
3736
import Data.These
@@ -175,12 +174,4 @@ thunkEqM lt rt = force lt $ \lv -> force rt $ \rv ->
175174
(NVSet _ _ , NVSet _ _ ) -> unsafePtrEq
176175
_ -> valueEqM lv rv
177176

178-
instance Eq1 (NValueF p m) where
179-
liftEq _ (NVConstantF x) (NVConstantF y) = x == y
180-
liftEq _ (NVStrF x) (NVStrF y) = x == y
181-
liftEq eq (NVListF x) (NVListF y) = liftEq eq x y
182-
liftEq eq (NVSetF x _ ) (NVSetF y _ ) = liftEq eq x y
183-
liftEq _ (NVPathF x ) (NVPathF y ) = x == y
184-
liftEq _ _ _ = False
185-
186177
$(deriveEq1 ''NValue')

0 commit comments

Comments
 (0)