From 4c765dd1d624c8495f0217d10595cf4001f2e021 Mon Sep 17 00:00:00 2001 From: Li-yao Xia Date: Thu, 9 Jul 2026 20:22:32 +0200 Subject: [PATCH] Keep track of indices in listParser errors --- src/Data/Aeson/Types/FromJSON.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Data/Aeson/Types/FromJSON.hs b/src/Data/Aeson/Types/FromJSON.hs index 827ed6c6..14648240 100644 --- a/src/Data/Aeson/Types/FromJSON.hs +++ b/src/Data/Aeson/Types/FromJSON.hs @@ -690,7 +690,7 @@ omittedField2 = liftOmittedField2 omittedField omittedField -- | Helper function to use with 'liftParseJSON'. See 'Data.Aeson.ToJSON.listEncoding'. listParser :: (Value -> Parser a) -> Value -> Parser [a] -listParser f (Array xs) = fmap V.toList (V.mapM f xs) +listParser f (Array xs) = fmap V.toList (V.imapM (\i x -> f x Index i) xs) listParser _ v = typeMismatch "Array" v {-# INLINE listParser #-}