git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix double-warning issue
6a378bePhil Freeman
src/Control/Monad/Logger.hs+3−5
@@ -57,15 +57,13 @@ instance (Monoid w) => MonadIO (Logger w) where
57 liftIO = Logger . const
57 liftIO = Logger . const
58
58
59instance (Monoid w) => MonadWriter w (Logger w) where
59instance (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, ())
61 listen l = Logger $ \r -> do
61 listen l = Logger $ \r -> do
62 (a, w) <- liftIO (runLogger' l)
62 (a, w) <- liftIO (runLogger' l)
63− modifyIORef' r (mappend w)
63+ atomicModifyIORef' r $ \w' -> (mappend w' w, (a, w))
64− return (a, w)
65 pass l = Logger $ \r -> do
64 pass l = Logger $ \r -> do
66 ((a, f), w) <- liftIO (runLogger' l)
65 ((a, f), w) <- liftIO (runLogger' l)
67− modifyIORef' r (mappend (f w))
66+ atomicModifyIORef' r $ \w' -> (mappend w' (f w), a)
68− return a
69
67
70instance (Monoid w) => MonadBase IO (Logger w) where
68instance (Monoid w) => MonadBase IO (Logger w) where
71 liftBase = liftIO
69 liftBase = liftIO
src/Language/PureScript/Make.hs+1−2
@@ -178,8 +178,7 @@ make MakeActions{..} ms = do
178 unless (null errors) $ throwError (mconcat errors)
178 unless (null errors) $ throwError (mconcat errors)
179
179
180 -- Bundle up all the externs and return them as an Environment
180 -- 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)
181+ (_, externs) <- unzip . fromMaybe (internalError "make: externs were missing but no errors reported.") . sequence <$> for barriers (takeMVar . fst . snd)
182− tell (mconcat warnings)
183 return $ foldl' (flip applyExternsFileToEnvironment) initEnvironment externs
182 return $ foldl' (flip applyExternsFileToEnvironment) initEnvironment externs
184
183
185 where
184 where