Skip to content

Commit ff9a8d0

Browse files
committed
Derive Monoid instance for ExtraDirs
1 parent fab4733 commit ff9a8d0

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/Stack/Setup/Installed.hs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE DeriveGeneric #-}
12
{-# LANGUAGE FlexibleContexts #-}
23
{-# LANGUAGE OverloadedStrings #-}
34
{-# LANGUAGE TemplateHaskell #-}
@@ -31,6 +32,8 @@ import qualified Data.Text as T
3132
import qualified Data.Text.Encoding as T
3233
import Distribution.System (Platform (..))
3334
import qualified Distribution.System as Cabal
35+
import GHC.Generics (Generic)
36+
import Generics.Deriving.Monoid (mappenddefault, memptydefault)
3437
import Path
3538
import Path.Extra (toFilePathNoTrailingSep)
3639
import Path.IO
@@ -167,13 +170,10 @@ data ExtraDirs = ExtraDirs
167170
{ edBins :: ![FilePath]
168171
, edInclude :: ![FilePath]
169172
, edLib :: ![FilePath]
170-
} deriving (Show)
173+
} deriving (Show, Generic)
171174
instance Monoid ExtraDirs where
172-
mempty = ExtraDirs [] [] []
173-
mappend (ExtraDirs a b c) (ExtraDirs x y z) = ExtraDirs
174-
(a ++ x)
175-
(b ++ y)
176-
(c ++ z)
175+
mempty = memptydefault
176+
mappend = mappenddefault
177177

178178
installDir :: (MonadReader env m, HasConfig env, MonadThrow m, MonadLogger m)
179179
=> Path Abs Dir

0 commit comments

Comments
 (0)