diff --git a/testsuite/tests/th/wasm/T25473A.hs b/testsuite/tests/th/wasm/T25473A.hs new file mode 100644 index 0000000000000000000000000000000000000000..7cb52348b53ffee8ecc93de03c776b04302dce7e --- /dev/null +++ b/testsuite/tests/th/wasm/T25473A.hs @@ -0,0 +1,8 @@ +module T25473A where + +import GHC.Wasm.Prim + +type BinOp a = a -> a -> a + +foreign import javascript "wrapper" + mkJSBinOp :: BinOp Int -> IO JSVal diff --git a/testsuite/tests/th/wasm/T25473B.hs b/testsuite/tests/th/wasm/T25473B.hs new file mode 100644 index 0000000000000000000000000000000000000000..2d74a7cc2f36f23f5be892744eb305b5eb8a1e52 --- /dev/null +++ b/testsuite/tests/th/wasm/T25473B.hs @@ -0,0 +1,10 @@ +{-# LANGUAGE TemplateHaskell #-} + +module T25473B where + +import Language.Haskell.TH +import T25473A + +$(runIO $ do + _ <- mkJSBinOp (+) + pure []) diff --git a/testsuite/tests/th/wasm/all.T b/testsuite/tests/th/wasm/all.T new file mode 100644 index 0000000000000000000000000000000000000000..9bc4793eaa08b33c6390dc3dbd0d94800a106d7b --- /dev/null +++ b/testsuite/tests/th/wasm/all.T @@ -0,0 +1,5 @@ +setTestOpts([ + unless(arch('wasm32'), skip) +]) + +test('T25473', [expect_broken(25473)], multimod_compile, ['T25473B', '-v0'])