Ticket #2359 (closed bug: fixed)
Data.IntMap update{Min,Max}WithKey corrupts data structure
| Reported by: | nwf | Owned by: | simonmar |
|---|---|---|---|
| Priority: | high | Milestone: | 6.10.1 |
| Component: | libraries/base | Version: | 6.8.2 |
| Keywords: | Cc: | ||
| Operating System: | Linux | Architecture: | x86_64 (amd64) |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
Updates on the supposedly minimum element aren't:
GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help
Loading package base ... linking ... done.
Prelude> import Data.IntMap
Prelude Data.IntMap> let base = (insert 2 "b" (singleton 1 "a"))
Loading package array-0.1.0.0 ... linking ... done.
Loading package containers-0.1.0.1 ... linking ... done.
Prelude Data.IntMap> let umin = updateMinWithKey (\ k _ -> ("yo!" ++ (show k)) ) base
Prelude Data.IntMap> umin
fromList [(1,"a"),(2,"yo!2")]
Prelude Data.IntMap> showTree umin
"*\n+-- 1:=\"a\"\n+-- 2:=\"yo!2\"\n"
Updates on the maximum element are even worse, corrupting the data structure (ghci session continued):
Prelude Data.IntMap> let umax = updateMaxWithKey (\ k _ -> ("yo!" ++ (show k)) ) base
Prelude Data.IntMap> umax
fromList [(1,"yo!1"),(1,"a")]
Prelude Data.IntMap> showTree umax
"*\n+-- 1:=\"yo!1\"\n+-- 1:=\"a\"\n"
GHC is Debian 6.8.2-5.
Anything else that would be helpful? Thanks much in advance.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

