{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -fno-warn-orphans #-} #if __GLASGOW_HASKELL__ >= 704 {-# LANGUAGE Safe #-} #elif __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE Trustworthy #-} #endif module Generics.Deriving.Semigroup (module Generics.Deriving.Semigroup.Internal) where import Generics.Deriving.Semigroup.Internal #if MIN_VERSION_base(4,9,0) import Data.Semigroup (WrappedMonoid(..)) import Generics.Deriving.Monoid.Internal (GMonoid(..)) instance GMonoid m => GSemigroup (WrappedMonoid m) where gsappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m gsappend (WrapMonoid m a) (WrapMonoid m b) = forall m. m -> WrappedMonoid m WrapMonoid (forall a. GMonoid a => a -> a -> a gmappend m a m b) #endif