on master help sign in
Remove redundant constraints and add inspection tests for field_ and position_
commitcb03c61851490cbd957c0b398047d901f3939d46 authorCsongor Kiss <kiss.csongor.kiss@gmail.com> dateThu 11 Oct 2018, 15:03 (8 years ago) parent3c7f9f4
2 files changed+12−2
src/Data/Generics/Product/Fields.hs−2 test/Spec.hs+12
src/Data/Generics/Product/Fields.hs−2
@@ -182,8 +182,6 @@ instance
182182 , ErrorUnless field s (CollectField field (Rep s))
183183 , HasTotalFieldP field (Rep s) ~~ 'Just a
184184 , HasTotalFieldP field (Rep t) ~~ 'Just b
185− , HasTotalFieldP field (Rep (Indexed s)) ~~ 'Just a'
186− , HasTotalFieldP field (Rep (Indexed t)) ~~ 'Just b'
187185 , UnifyHead s t
188186 , UnifyHead t s
189187 , GLens (HasTotalFieldPSym field) (Rep s) (Rep t) a b
test/Spec.hs+12
@@ -178,12 +178,18 @@ subtypePrismManual eta = prism g f eta
178178fieldALensName :: Lens' Record Int
179179fieldALensName = field @"fieldA"
180180
181+fieldALensName_ :: Lens' Record Int
182+fieldALensName_ = field_ @"fieldA"
183+
181184fieldALensType :: Lens' Record Int
182185fieldALensType = typed @Int
183186
184187fieldALensPos :: Lens' Record Int
185188fieldALensPos = position @1
186189
190+fieldALensPos_ :: Lens' Record Int
191+fieldALensPos_ = position_ @1
192+
187193subtypeLensGeneric :: Lens' Record Record2
188194subtypeLensGeneric = super
189195
@@ -196,6 +202,9 @@ typeChangingGenericPos = position @1
196202typeChangingGenericCompose :: Lens (Record3 (Record3 a)) (Record3 (Record3 b)) a b
197203typeChangingGenericCompose = field @"fieldA" . field @"fieldA"
198204
205+typeChangingGenericCompose_ :: Lens (Record3 (Record3 a)) (Record3 (Record3 b)) a b
206+typeChangingGenericCompose_ = field_ @"fieldA" . field_ @"fieldA"
207+
199208sum1PrismB :: Prism Sum1 Sum1 Int Int
200209sum1PrismB = _Ctor @"B"
201210
@@ -217,12 +226,15 @@ sum2TypePrismChar = _Typed @Char
217226tests :: Test
218227tests = TestList $ map mkHUnitTest
219228 [ $(inspectTest $ 'fieldALensManual === 'fieldALensName)
229+ , $(inspectTest $ 'fieldALensManual === 'fieldALensName_)
220230 , $(inspectTest $ 'fieldALensManual === 'fieldALensType)
221231 , $(inspectTest $ 'fieldALensManual === 'fieldALensPos)
232+ , $(inspectTest $ 'fieldALensManual === 'fieldALensPos_)
222233 , $(inspectTest $ 'subtypeLensManual === 'subtypeLensGeneric)
223234 , $(inspectTest $ 'typeChangingManual === 'typeChangingGeneric)
224235 , $(inspectTest $ 'typeChangingManual === 'typeChangingGenericPos)
225236 , $(inspectTest $ 'typeChangingManualCompose === 'typeChangingGenericCompose)
237+ , $(inspectTest $ 'typeChangingManualCompose === 'typeChangingGenericCompose_)
226238 , $(inspectTest $ 'sum1PrismManual === 'sum1PrismB)
227239 , $(inspectTest $ 'subtypePrismManual === 'subtypePrismGeneric)
228240 , $(inspectTest $ 'sum2PrismManualChar === 'sum2TypePrismChar)