Skip to content

Commit 96bea00

Browse files
authored
Don't suggest -Wno-deferred-out-of-scope-variables (#4441)
Fixes #4440 Fixes test for disabling deferred-type-errors.
1 parent d923d82 commit 96bea00

File tree

4 files changed

+22
-3
lines changed

4 files changed

+22
-3
lines changed

plugins/hls-pragmas-plugin/src/Ide/Plugin/Pragmas.hs

+6-2
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,13 @@ suggestDisableWarning Diagnostic {_code}
126126
pure ("Disable \"" <> w <> "\" warnings", OptGHC w)
127127
| otherwise = []
128128

129-
-- Don't suggest disabling type errors as a solution to all type errors
130129
warningBlacklist :: [T.Text]
131-
warningBlacklist = ["deferred-type-errors"]
130+
warningBlacklist =
131+
-- Don't suggest disabling type errors as a solution to all type errors.
132+
[ "deferred-type-errors"
133+
-- Don't suggest disabling out of scope errors as a solution to all out of scope errors.
134+
, "deferred-out-of-scope-variables"
135+
]
132136

133137
-- ---------------------------------------------------------------------
134138

plugins/hls-pragmas-plugin/test/Main.hs

+6-1
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,16 @@ codeActionTests' =
109109
_ -> assertFailure $ "Expected one code action, but got: " <> show cas
110110
liftIO $ (ca ^. L.title == "Add \"NamedFieldPuns\"") @? "NamedFieldPuns code action"
111111
executeCodeAction ca
112-
, goldenWithPragmas pragmasSuggestPlugin "doesn't suggest disabling type errors" "DeferredTypeErrors" $ \doc -> do
112+
, goldenWithPragmas pragmasDisableWarningPlugin "doesn't suggest disabling type errors" "DeferredTypeErrors" $ \doc -> do
113113
_ <- waitForDiagnosticsFrom doc
114114
cas <- map fromAction <$> getAllCodeActions doc
115115
liftIO $ "Disable \"deferred-type-errors\" warnings" `notElem` map (^. L.title) cas @? "Doesn't contain deferred-type-errors code action"
116116
liftIO $ length cas == 0 @? "Expected no code actions, but got: " <> show cas
117+
, goldenWithPragmas pragmasDisableWarningPlugin "doesn't suggest disabling out of scope variables" "DeferredOutOfScopeVariables" $ \doc -> do
118+
_ <- waitForDiagnosticsFrom doc
119+
cas <- map fromAction <$> getAllCodeActions doc
120+
liftIO $ "Disable \"deferred-out-of-scope-variables\" warnings" `notElem` map (^. L.title) cas @? "Doesn't contain deferred-out-of-scope-variables code action"
121+
liftIO $ length cas == 0 @? "Expected no code actions, but got: " <> show cas
117122
]
118123

119124
completionTests :: TestTree
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module DeferredOutOfScopeVariables where
2+
3+
f :: ()
4+
f = let x = Doesn'tExist
5+
in undefined
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module DeferredOutOfScopeVariables where
2+
3+
f :: ()
4+
f = let x = Doesn'tExist
5+
in undefined

0 commit comments

Comments
 (0)