id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
2359	Data.IntMap update{Min,Max}WithKey corrupts data structure	nwf	simonmar	"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."	bug	closed	high	6.10.1	libraries/base	6.8.2	fixed			Linux	x86_64 (amd64)		Unknown				
