Skip to content

Commit 6a378be

Browse files
committed
Fix double-warning issue
1 parent bd2e583 commit 6a378be

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

src/Control/Monad/Logger.hs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,13 @@ instance (Monoid w) => MonadIO (Logger w) where
5757
liftIO = Logger . const
5858

5959
instance (Monoid w) => MonadWriter w (Logger w) where
60-
tell w = Logger $ \r -> modifyIORef' r (mappend w)
60+
tell w = Logger $ \r -> atomicModifyIORef' r $ \w' -> (mappend w' w, ())
6161
listen l = Logger $ \r -> do
6262
(a, w) <- liftIO (runLogger' l)
63-
modifyIORef' r (mappend w)
64-
return (a, w)
63+
atomicModifyIORef' r $ \w' -> (mappend w' w, (a, w))
6564
pass l = Logger $ \r -> do
6665
((a, f), w) <- liftIO (runLogger' l)
67-
modifyIORef' r (mappend (f w))
68-
return a
66+
atomicModifyIORef' r $ \w' -> (mappend w' (f w), a)
6967

7068
instance (Monoid w) => MonadBase IO (Logger w) where
7169
liftBase = liftIO

src/Language/PureScript/Make.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,7 @@ make MakeActions{..} ms = do
178178
unless (null errors) $ throwError (mconcat errors)
179179

180180
-- Bundle up all the externs and return them as an Environment
181-
(warnings, externs) <- unzip . fromMaybe (internalError "make: externs were missing but no errors reported.") . sequence <$> for barriers (takeMVar . fst . snd)
182-
tell (mconcat warnings)
181+
(_, externs) <- unzip . fromMaybe (internalError "make: externs were missing but no errors reported.") . sequence <$> for barriers (takeMVar . fst . snd)
183182
return $ foldl' (flip applyExternsFileToEnvironment) initEnvironment externs
184183

185184
where

0 commit comments

Comments
 (0)