fosskers / microlens-aeson

Lenses and Traversals for Aeson, based on Microlens.
MIT License
14 stars 6 forks source link

Build failure with `aeson-2.0.0.0` #20

Closed RyanGlScott closed 3 years ago

RyanGlScott commented 3 years ago

Trying to build microlens-aeson-2.3.1 with aeson-2.0.0.0 will result in a build failure:

[1 of 2] Compiling Lens.Micro.Aeson.Internal ( src/Lens/Micro/Aeson/Internal.hs, dist/build/Lens/Micro/Aeson/Internal.o, dist/build/Lens/Micro/Aeson/Internal.dyn_o )

src/Lens/Micro/Aeson/Internal.hs:38:37: error:
    • Couldn't match type ‘Index
                             aeson-2.0.0.0:Data.Aeson.Types.Internal.Object’
                     with ‘Text’
      Expected: Index aeson-2.0.0.0:Data.Aeson.Types.Internal.Object
        Actual: Index Value
    • In the first argument of ‘ix’, namely ‘i’
      In the second argument of ‘(<$>)’, namely ‘ix i f o’
      In the expression: Object <$> ix i f o
   |
38 |   ix i f (Object o) = Object <$> ix i f o
   |                                     ^

src/Lens/Micro/Aeson/Internal.hs:38:39: error:
    • Couldn't match type ‘IxValue
                             aeson-2.0.0.0:Data.Aeson.Types.Internal.Object’
                     with ‘Value’
      Expected: IxValue aeson-2.0.0.0:Data.Aeson.Types.Internal.Object
                -> f (IxValue aeson-2.0.0.0:Data.Aeson.Types.Internal.Object)
        Actual: IxValue Value -> f (IxValue Value)
    • In the second argument of ‘ix’, namely ‘f’
      In the second argument of ‘(<$>)’, namely ‘ix i f o’
      In the expression: Object <$> ix i f o
   |
38 |   ix i f (Object o) = Object <$> ix i f o
   |                                       ^

See lens/lens-aeson@98c9d81944298f8c3b440f605dd7c88c112ad8e3 for the corresponding fix in lens-aeson.

fosskers commented 3 years ago

Thanks I'll get on this.

fosskers commented 3 years ago

Fixed! Thanks again for the report.