Skip to content

Commit c229b92

Browse files
committed
move instance Eq1 NValueF to the parent
1 parent ac19bf4 commit c229b92

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
@@ -28,7 +28,8 @@ import Control.Monad.Trans.Class ( MonadTrans, lift )
2828
import qualified Data.Aeson as A
2929
import Data.Functor.Classes ( Show1
3030
, liftShowsPrec
31-
, showsUnaryWith )
31+
, showsUnaryWith
32+
, Eq1(liftEq) )
3233
import Data.HashMap.Lazy ( HashMap )
3334
import Data.Text ( Text )
3435
import Data.Typeable ( Typeable )
@@ -100,6 +101,14 @@ instance Show r => Show (NValueF p m r) where
100101
showsCon1 con a d =
101102
showParen (d > 10) $ showString (con <> " ") . showsPrec 11 a
102103

104+
instance Eq1 (NValueF p m) where
105+
liftEq _ (NVConstantF x) (NVConstantF y) = x == y
106+
liftEq _ (NVStrF x) (NVStrF y) = x == y
107+
liftEq eq (NVListF x) (NVListF y) = liftEq eq x y
108+
liftEq eq (NVSetF x _ ) (NVSetF y _ ) = liftEq eq x y
109+
liftEq _ (NVPathF x ) (NVPathF y ) = x == y
110+
liftEq _ _ _ = False
111+
103112
lmapNValueF :: Functor m => (b -> a) -> NValueF a m r -> NValueF b m r
104113
lmapNValueF f = \case
105114
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)