diff options
| -rw-r--r-- | src/Data/Dependent/EnumMap/Strict/Internal.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Data/Dependent/EnumMap/Strict/Internal.hs b/src/Data/Dependent/EnumMap/Strict/Internal.hs index 4b2264c..ed8283f 100644 --- a/src/Data/Dependent/EnumMap/Strict/Internal.hs +++ b/src/Data/Dependent/EnumMap/Strict/Internal.hs @@ -207,7 +207,8 @@ adjustWithKey :: (Enum1 k, TestEquality k) => (k a -> v a -> v a) -> k a -> DEnu adjustWithKey f k (DEnumMap m) = let (i, _) = fromEnum1 k in DEnumMap (IM.adjust (\(KV inf v) -> case typeCheck1 k i inf of - Refl -> KV inf (f k v)) i m) + Refl -> KV inf (f k v)) + i m) update :: (Enum1 k, TestEquality k) => (v a -> Maybe (v a)) -> k a -> DEnumMap k v -> DEnumMap k v update = updateWithKey . const @@ -217,7 +218,8 @@ updateWithKey :: (Enum1 k, TestEquality k) updateWithKey f k (DEnumMap m) = let (i, _) = fromEnum1 k in DEnumMap (IM.update (\(KV inf v) -> case typeCheck1 k i inf of - Refl -> KV inf <$> f k v) i m) + Refl -> KV inf <$> f k v) + i m) updateLookupWithKey :: (Enum1 k, TestEquality k) => (k a -> v a -> Maybe (v a)) -> k a -> DEnumMap k v -> (Maybe (v a), DEnumMap k v) |
