diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/tests/th/TH_invalid_add_top_decl.hs | 8 | ||||
-rw-r--r-- | testsuite/tests/th/TH_invalid_add_top_decl.stderr | 5 | ||||
-rw-r--r-- | testsuite/tests/th/all.T | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/testsuite/tests/th/TH_invalid_add_top_decl.hs b/testsuite/tests/th/TH_invalid_add_top_decl.hs new file mode 100644 index 0000000000..b13d873d96 --- /dev/null +++ b/testsuite/tests/th/TH_invalid_add_top_decl.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE TemplateHaskell #-} +import Language.Haskell.TH +import Language.Haskell.TH.Syntax + +$(do + invalidDecl <- valD (varP (mkName "emptyDo")) (normalB (doE [])) [] + addTopDecls [invalidDecl] + return []) diff --git a/testsuite/tests/th/TH_invalid_add_top_decl.stderr b/testsuite/tests/th/TH_invalid_add_top_decl.stderr new file mode 100644 index 0000000000..9124c2d669 --- /dev/null +++ b/testsuite/tests/th/TH_invalid_add_top_decl.stderr @@ -0,0 +1,5 @@ + +TH_invalid_add_top_decl.hs:5:3: + Error in a declaration passed to addTopDecls: + Empty stmt list in do-block + When splicing a TH declaration: emptyDo = do diff --git a/testsuite/tests/th/all.T b/testsuite/tests/th/all.T index cd80a6c4fb..0fddd448ea 100644 --- a/testsuite/tests/th/all.T +++ b/testsuite/tests/th/all.T @@ -424,3 +424,4 @@ test('T9693', expect_broken(9693), ghci_script, ['T9693.script']) test('T14471', normal, compile, ['']) test('TH_rebindableAdo', normal, compile, ['']) test('T14627', normal, compile_fail, ['']) +test('TH_invalid_add_top_decl', normal, compile_fail, ['']) |