avoid insertWith' depreaction warning

Switch to Data.Map.Strict everywhere that used it.

There are still lots of lazy maps in git-annex. I think switching these
is safe. The risk is that there might be a map that is used in a way
that relies on the values not being evaluated to WHNF, and switching to
strict might result in bad performance or memory use. So, I have not
switched everything.
This commit is contained in:
Joey Hess 2018-04-22 13:28:31 -04:00
parent 558a0a9328
commit 256d8f07e8
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
11 changed files with 24 additions and 26 deletions

View file

@ -21,7 +21,7 @@ import Common
import Annex.VectorClock
import Logs.Line
import qualified Data.Map as M
import qualified Data.Map.Strict as M
data LogEntry v = LogEntry
{ changed :: VectorClock
@ -56,7 +56,7 @@ changeMapLog c f v = M.insert f $ LogEntry c v
{- Only add an LogEntry if it's newer (or at least as new as) than any
- existing LogEntry for a field. -}
addMapLog :: Ord f => f -> LogEntry v -> MapLog f v -> MapLog f v
addMapLog = M.insertWith' best
addMapLog = M.insertWith best
{- Converts a MapLog into a simple Map without the timestamp information.
- This is a one-way trip, but useful for code that never needs to change

View file

@ -29,7 +29,7 @@ import Logs
import Logs.UUIDBased
import qualified Annex.UUID
import qualified Data.Map as M
import qualified Data.Map.Strict as M
{- Records a description for a uuid in the log. -}
describeUUID :: UUID -> String -> Annex ()
@ -79,7 +79,7 @@ uuidMapLoad :: Annex UUIDMap
uuidMapLoad = do
m <- (simpleMap . parseLog Just) <$> Annex.Branch.get uuidLog
u <- Annex.UUID.getUUID
let m' = M.insertWith' preferold u "" m
let m' = M.insertWith preferold u "" m
Annex.changeState $ \s -> s { Annex.uuidmap = Just m' }
return m'
where