Derive Unalign instances

This commit is contained in:
Jack Kelly 2020-01-14 13:02:40 +10:00 committed by Jack Kelly
parent 1c7a94d2be
commit b8b6d278cb
6 changed files with 11 additions and 4 deletions

View File

@ -59,7 +59,6 @@ library
if flag(split-these)
build-depends: these >= 1 && <1.2,
semialign >=1 && <1.2
else
build-depends: these >= 0.7 && <0.9

View File

@ -61,6 +61,7 @@ import Control.Lens
import Control.Newtype
import Data.Align
#ifdef MIN_VERSION_semialign
import Data.Semialign (Unalign)
#if MIN_VERSION_semialign(1,1,0)
import Data.Zip (Zip)
#endif
@ -77,6 +78,7 @@ newtype MonoidalHashMap k a = MonoidalHashMap { getMonoidalHashMap :: M.HashMap
, Semialign
#endif
#ifdef MIN_VERSION_semialign
, Unalign
#if MIN_VERSION_semialign(1,1,0)
, Zip
#endif

View File

@ -152,6 +152,7 @@ import Data.Functor.Classes
#endif
import Data.Align
#ifdef MIN_VERSION_semialign
import Data.Semialign (Unalign)
#if MIN_VERSION_semialign(1,1,0)
import Data.Zip (Zip)
#endif
@ -167,6 +168,7 @@ newtype MonoidalIntMap a = MonoidalIntMap { getMonoidalIntMap :: M.IntMap a }
, Semialign
#endif
#ifdef MIN_VERSION_semialign
, Unalign
#if MIN_VERSION_semialign(1,1,0)
, Zip
#endif

View File

@ -152,6 +152,7 @@ import Data.Functor.Classes
#endif
import Data.Align
#ifdef MIN_VERSION_semialign
import Data.Semialign (Unalign)
#if MIN_VERSION_semialign(1,1,0)
import Data.Zip (Zip)
#endif
@ -164,9 +165,10 @@ newtype MonoidalIntMap a = MonoidalIntMap { getMonoidalIntMap :: M.IntMap a }
FromJSON, ToJSON, FromJSON1, ToJSON1,
Data, Typeable, Align
#if MIN_VERSION_these(0,8,0)
, Semialign
, Semialign
#endif
#ifdef MIN_VERSION_semialign
, Unalign
#if MIN_VERSION_semialign(1,1,0)
, Zip
#endif

View File

@ -152,6 +152,7 @@ import Data.Functor.Classes
#endif
import Data.Align
#ifdef MIN_VERSION_semialign
import Data.Semialign (Unalign)
#if MIN_VERSION_semialign(1,1,0)
import Data.Zip (Zip)
#endif
@ -167,6 +168,7 @@ newtype MonoidalMap k a = MonoidalMap { getMonoidalMap :: M.Map k a }
, Semialign
#endif
#ifdef MIN_VERSION_semialign
, Unalign
#if MIN_VERSION_semialign(1,1,0)
, Zip
#endif

View File

@ -152,6 +152,7 @@ import Data.Functor.Classes
#endif
import Data.Align
#ifdef MIN_VERSION_semialign
import Data.Semialign (Unalign)
#if MIN_VERSION_semialign(1,1,0)
import Data.Zip (Zip)
#endif
@ -167,6 +168,7 @@ newtype MonoidalMap k a = MonoidalMap { getMonoidalMap :: M.Map k a }
, Semialign
#endif
#ifdef MIN_VERSION_semialign
, Unalign
#if MIN_VERSION_semialign(1,1,0)
, Zip
#endif
@ -697,5 +699,3 @@ maxViewWithKey = coerce (M.maxViewWithKey :: M.Map k a -> Maybe ((k, a), M.Map k
valid :: forall k a. Ord k => MonoidalMap k a -> Bool
valid = coerce (M.valid :: Ord k => M.Map k a -> Bool)
{-# INLINE valid #-}