@@ -48,9 +48,6 @@ instance DecidablyEmpty [a] where
48
48
isEmpty = null
49
49
instance Semigroup a => DecidablyEmpty (Maybe a ) where
50
50
isEmpty = isNothing
51
- #if MIN_VERSION_base(4,11,0)
52
- deriving instance DecidablyEmpty a => DecidablyEmpty (Down a )
53
- #endif
54
51
deriving instance (Num a , DecidablyEmpty a ) => DecidablyEmpty (Product a )
55
52
deriving instance (DecidablyEmpty a , Num a ) => DecidablyEmpty (Sum a )
56
53
deriving instance DecidablyEmpty a => DecidablyEmpty (Dual a )
@@ -61,17 +58,19 @@ deriving instance Semigroup a => DecidablyEmpty (Option a)
61
58
deriving instance DecidablyEmpty m => DecidablyEmpty (WrappedMonoid m )
62
59
instance (Ord a , Bounded a ) => DecidablyEmpty (Max a )
63
60
instance (Ord a , Bounded a ) => DecidablyEmpty (Min a )
64
- instance DecidablyEmpty (U1 p )
65
61
instance DecidablyEmpty (Proxy s )
62
+ deriving instance DecidablyEmpty a => DecidablyEmpty (Const a b )
63
+ #if MIN_VERSION_base(4,11,0)
64
+ deriving instance DecidablyEmpty a => DecidablyEmpty (Down a )
65
+ #endif
66
66
#if MIN_VERSION_base(4,12,0)
67
+ deriving instance DecidablyEmpty p => DecidablyEmpty (Par1 p )
68
+ instance DecidablyEmpty (U1 p )
67
69
deriving instance DecidablyEmpty (f p ) => DecidablyEmpty (Rec1 f p )
68
- #endif
69
- deriving instance DecidablyEmpty a => DecidablyEmpty (Const a b )
70
+ deriving instance DecidablyEmpty (f p ) => DecidablyEmpty (M1 i c f p )
70
71
deriving instance DecidablyEmpty c => DecidablyEmpty (K1 i c p )
71
72
instance (DecidablyEmpty (f p ), DecidablyEmpty (g p )) => DecidablyEmpty ((f :*: g ) p ) where
72
73
isEmpty (x :*: y) = isEmpty x && isEmpty y
73
- #if MIN_VERSION_base(4,12,0)
74
- deriving instance DecidablyEmpty (f p ) => DecidablyEmpty (M1 i c f p )
75
74
deriving instance DecidablyEmpty (f (g p )) => DecidablyEmpty ((f :.: g ) p )
76
75
#endif
77
76
0 commit comments