@@ -89,14 +89,14 @@ class HasField (field :: Symbol) a s | s field -> a where
91 ( Generic s
91 ( Generic s
92− , ErrorUnlessJust field s (HasFieldP field (Rep s))
92+ , ErrorUnless field s (HasFieldP field (Rep s))
93 , GHasField field (Rep s) a
93 , GHasField field (Rep s) a
94 ) => HasField field a s where
94 ) => HasField field a s where
96 field = repIso . gfield @field
96 field = repIso . gfield @field
98−type family ErrorUnlessJust (field :: Symbol) (s :: Type) (contains :: Bool) :: Constraint where
98+type family ErrorUnless (field :: Symbol) (s :: Type) (contains :: Bool) :: Constraint where
99− ErrorUnlessJust field s 'False
99+ ErrorUnless field s 'False
100 = TypeError
100 = TypeError
101 ( 'Text "The type "
101 ( 'Text "The type "
102 ':<>: 'ShowType s
102 ':<>: 'ShowType s
@@ -104,7 +104,7 @@ type family ErrorUnlessJust (field :: Symbol) (s :: Type) (contains :: Bool) ::
104 ':<>: 'ShowType field
104 ':<>: 'ShowType field
107− ErrorUnlessJust _ _ 'True
107+ ErrorUnless _ _ 'True
110-- |As 'HasField' but over generic representations as defined by
110-- |As 'HasField' but over generic representations as defined by
@@ -123,10 +123,7 @@ instance (GHasField field l a, GHasField field r a)
123 gfield = combine (gfield @field @l) (gfield @field @r)
123 gfield = combine (gfield @field @l) (gfield @field @r)
125instance GHasField field (S1 ('MetaSel ('Just field) upkd str infstr) (Rec0 a)) a where
125instance GHasField field (S1 ('MetaSel ('Just field) upkd str infstr) (Rec0 a)) a where
126− gfield = mIso . gfield @field
126+ gfield = mIso . kIso
128−instance GHasField field (K1 R a) a where
129− gfield f (K1 x) = fmap K1 (f x)
131instance GHasField field f a => GHasField field (M1 D meta f) a where
128instance GHasField field f a => GHasField field (M1 D meta f) a where
132 gfield = mIso . gfield @field
129 gfield = mIso . gfield @field