diff options
Diffstat (limited to 'testsuite/tests/safeHaskell/ghci')
51 files changed, 377 insertions, 0 deletions
diff --git a/testsuite/tests/safeHaskell/ghci/A.hs b/testsuite/tests/safeHaskell/ghci/A.hs new file mode 100644 index 0000000000..73da27f637 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/A.hs @@ -0,0 +1,10 @@ +{-# LANGUAGE Trustworthy #-} +module A (a) where + +import System.IO.Unsafe + +a :: Int +a = 1 + +unsafe = unsafePerformIO + diff --git a/testsuite/tests/safeHaskell/ghci/B.hs b/testsuite/tests/safeHaskell/ghci/B.hs new file mode 100644 index 0000000000..58ecfb42f7 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/B.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE Unsafe #-} +module B where + +import System.IO.Unsafe + +a :: Int +a = 1 + diff --git a/testsuite/tests/safeHaskell/ghci/C.hs b/testsuite/tests/safeHaskell/ghci/C.hs new file mode 100644 index 0000000000..94959c7c0b --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/C.hs @@ -0,0 +1,13 @@ +{-# LANGUAGE Safe #-} +module C (a, C(), D(..)) where + +a :: Int +a = 1 + +b :: Int +b = 2 + +data C a = C a Int + +data D a = D a Int + diff --git a/testsuite/tests/safeHaskell/ghci/D.hs b/testsuite/tests/safeHaskell/ghci/D.hs new file mode 100644 index 0000000000..2a70c065ab --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/D.hs @@ -0,0 +1,8 @@ +module D (a) where + +a :: Int +a = 1 + +b :: Int +b = 2 + diff --git a/testsuite/tests/safeHaskell/ghci/E.hs b/testsuite/tests/safeHaskell/ghci/E.hs new file mode 100644 index 0000000000..4474d46d5f --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/E.hs @@ -0,0 +1,7 @@ +module E where + +import System.IO.Unsafe + +a :: Int +a = 1 + diff --git a/testsuite/tests/safeHaskell/ghci/Makefile b/testsuite/tests/safeHaskell/ghci/Makefile new file mode 100644 index 0000000000..4a268530f1 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/Makefile @@ -0,0 +1,4 @@ +TOP=../../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/test.mk + diff --git a/testsuite/tests/safeHaskell/ghci/P13_A.hs b/testsuite/tests/safeHaskell/ghci/P13_A.hs new file mode 100644 index 0000000000..1044c83545 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/P13_A.hs @@ -0,0 +1,9 @@ +{-# LANGUAGE OverlappingInstances, FlexibleInstances #-} +module P13_A where + +class Pos a where { res :: a -> Bool } + +instance Pos [a] where { res _ = True } + +instance Pos Char where { res _ = True } + diff --git a/testsuite/tests/safeHaskell/ghci/all.T b/testsuite/tests/safeHaskell/ghci/all.T new file mode 100644 index 0000000000..1c878c6759 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/all.T @@ -0,0 +1,20 @@ +# Test GHCi works with Safe Haskell + +test('p1', normal, ghci_script, ['p1.script']) +test('p2', normal, ghci_script, ['p2.script']) +test('p3', normal, ghci_script, ['p3.script']) +test('p4', normal, ghci_script, ['p4.script']) +test('p5', normal, ghci_script, ['p5.script']) +test('p6', normal, ghci_script, ['p6.script']) +test('p7', normal, ghci_script, ['p7.script']) +test('p8', normal, ghci_script, ['p8.script']) +test('p9', normal, ghci_script, ['p9.script']) +test('p10', normal, ghci_script, ['p10.script']) +test('p11', normal, ghci_script, ['p11.script']) +test('p12', normal, ghci_script, ['p12.script']) +test('p13', normal, ghci_script, ['p13.script']) +test('p14', normal, ghci_script, ['p14.script']) +test('p15', normal, ghci_script, ['p15.script']) +test('p16', normal, ghci_script, ['p16.script']) +test('p17', normal, ghci_script, ['p17.script']) + diff --git a/testsuite/tests/safeHaskell/ghci/p1.script b/testsuite/tests/safeHaskell/ghci/p1.script new file mode 100644 index 0000000000..3c55ad7208 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p1.script @@ -0,0 +1,8 @@ +-- Test disabled language extensions +:unset +s +:set -XSafe + +:set -XTemplateHaskell + +:set -XGeneralizedNewtypeDeriving + diff --git a/testsuite/tests/safeHaskell/ghci/p1.stderr b/testsuite/tests/safeHaskell/ghci/p1.stderr new file mode 100644 index 0000000000..9446e1df16 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p1.stderr @@ -0,0 +1,6 @@ + +<no location info>: Warning: + -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell + +<no location info>: Warning: + -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving diff --git a/testsuite/tests/safeHaskell/ghci/p10.script b/testsuite/tests/safeHaskell/ghci/p10.script new file mode 100644 index 0000000000..e1cefae496 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p10.script @@ -0,0 +1,10 @@ +-- Test load works +:unset +s +:set -XSafe + +:load D + +a + +b + diff --git a/testsuite/tests/safeHaskell/ghci/p10.stderr b/testsuite/tests/safeHaskell/ghci/p10.stderr new file mode 100644 index 0000000000..768948984e --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p10.stderr @@ -0,0 +1,2 @@ + +<interactive>:10:1: Not in scope: `b' diff --git a/testsuite/tests/safeHaskell/ghci/p10.stdout b/testsuite/tests/safeHaskell/ghci/p10.stdout new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p10.stdout @@ -0,0 +1 @@ +1 diff --git a/testsuite/tests/safeHaskell/ghci/p11.script b/testsuite/tests/safeHaskell/ghci/p11.script new file mode 100644 index 0000000000..19fb759600 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p11.script @@ -0,0 +1,6 @@ +-- Test load works +:unset +s +:set -XSafe + +:load E + diff --git a/testsuite/tests/safeHaskell/ghci/p11.stderr b/testsuite/tests/safeHaskell/ghci/p11.stderr new file mode 100644 index 0000000000..0d33615020 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p11.stderr @@ -0,0 +1,3 @@ + +E.hs:3:1: + base:System.IO.Unsafe can't be safely imported! The module itself isn't safe. diff --git a/testsuite/tests/safeHaskell/ghci/p12.script b/testsuite/tests/safeHaskell/ghci/p12.script new file mode 100644 index 0000000000..486302e8ed --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p12.script @@ -0,0 +1,10 @@ +-- Test you can't unset options +:unset +s +:set -XSafe +:unset -XSafe + +:set -fpackage-trust +:unset -fpackage-trust + +import Data.ByteString + diff --git a/testsuite/tests/safeHaskell/ghci/p12.stderr b/testsuite/tests/safeHaskell/ghci/p12.stderr new file mode 100644 index 0000000000..c97035e7ab --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p12.stderr @@ -0,0 +1,3 @@ + +<no location info>: + bytestring-0.10.0.0:Data.ByteString can't be safely imported! The package (bytestring-0.10.0.0) the module resides in isn't trusted. diff --git a/testsuite/tests/safeHaskell/ghci/p12.stdout b/testsuite/tests/safeHaskell/ghci/p12.stdout new file mode 100644 index 0000000000..5d16ff7a9f --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p12.stdout @@ -0,0 +1,2 @@ +don't know how to reverse -XSafe +Some flags have not been recognized: -fno-package-trust diff --git a/testsuite/tests/safeHaskell/ghci/p13.script b/testsuite/tests/safeHaskell/ghci/p13.script new file mode 100644 index 0000000000..4e96c844ed --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p13.script @@ -0,0 +1,14 @@ +-- Test restricted functionality: Overlapping +:unset +s +:set -XSafe +:set -XOverlappingInstances +:set -XFlexibleInstances + +:l P13_A + +instance Pos [Int] where { res _ = error "This curry is poisoned!" } + +res [1::Int, 2::Int] +-- res 'c' +-- res ['c'] + diff --git a/testsuite/tests/safeHaskell/ghci/p13.stderr b/testsuite/tests/safeHaskell/ghci/p13.stderr new file mode 100644 index 0000000000..5e31e43439 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p13.stderr @@ -0,0 +1,13 @@ + +<interactive>:12:1: + Unsafe overlapping instances for Pos [Int] + arising from a use of `res' + The matching instance is: + instance [overlap ok] [safe] Pos [Int] + -- Defined at <interactive>:10:10 + It is compiled in a Safe module and as such can only + overlap instances from the same module, however it + overlaps the following instances from different modules: + instance [overlap ok] [safe] Pos [a] -- Defined at P13_A.hs:6:10 + In the expression: res [1 :: Int, 2 :: Int] + In an equation for `it': it = res [1 :: Int, 2 :: Int] diff --git a/testsuite/tests/safeHaskell/ghci/p13.stdout b/testsuite/tests/safeHaskell/ghci/p13.stdout new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p13.stdout diff --git a/testsuite/tests/safeHaskell/ghci/p14.script b/testsuite/tests/safeHaskell/ghci/p14.script new file mode 100644 index 0000000000..4802faf940 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p14.script @@ -0,0 +1,10 @@ +-- Test restricted functionality: RULES +:unset +s +:set -XSafe + +:set -fenable-rewrite-rules + +let f x = x - 1 + +{-# RULES "id/Int" id = f #-} + diff --git a/testsuite/tests/safeHaskell/ghci/p14.stderr b/testsuite/tests/safeHaskell/ghci/p14.stderr new file mode 100644 index 0000000000..4a66d78f55 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p14.stderr @@ -0,0 +1,2 @@ + +<interactive>:10:1: parse error on input `{-# RULES' diff --git a/testsuite/tests/safeHaskell/ghci/p15.script b/testsuite/tests/safeHaskell/ghci/p15.script new file mode 100644 index 0000000000..3faeec9df9 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p15.script @@ -0,0 +1,23 @@ +-- Test restricted functionality: Data.Typeable +:unset +s +:set -XSafe +:set -XDeriveDataTypeable +:set -XStandaloneDeriving + +:m + Data.Typeable + +data H = H {h :: String} deriving (Typeable, Show) + +data G = G [Int] deriving (Show) + +instance Typeable G where { typeOf _ = typeOf (undefined :: H) } + +let x = H "Hello" +let y = G [0] + +x +y + +let (Just y_as_H) = (cast y) :: Maybe H +y_as_H + diff --git a/testsuite/tests/safeHaskell/ghci/p15.stderr b/testsuite/tests/safeHaskell/ghci/p15.stderr new file mode 100644 index 0000000000..883f541c7b --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p15.stderr @@ -0,0 +1,12 @@ + +<interactive>:14:10: + Can't create hand written instances of Typeable in Safe Haskell! Can only derive them + +<interactive>:22:22: + No instance for (Typeable G) + arising from a use of `cast' + Possible fix: add an instance declaration for (Typeable G) + In the expression: (cast y) :: Maybe H + In a pattern binding: (Just y_as_H) = (cast y) :: Maybe H + +<interactive>:23:1: Not in scope: `y_as_H' diff --git a/testsuite/tests/safeHaskell/ghci/p15.stdout b/testsuite/tests/safeHaskell/ghci/p15.stdout new file mode 100644 index 0000000000..40b3f68882 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p15.stdout @@ -0,0 +1,2 @@ +H {h = "Hello"} +G [0] diff --git a/testsuite/tests/safeHaskell/ghci/p16.script b/testsuite/tests/safeHaskell/ghci/p16.script new file mode 100644 index 0000000000..2bcea65c95 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p16.script @@ -0,0 +1,22 @@ +-- Test restricted functionality: GeneralizedNewtypeDeriving +:unset +s +:set -XSafe + +:set -XGeneralizedNewtypeDeriving + +class Op a where { op :: a -> String } + +data T = A | B | C deriving (Show) +instance Op T where { op _ = "T" } + +newtype T1 = T1 T +instance Op T1 where op _ = "t1" + +newtype T2 = T2 T deriving (Op) + +let x = T1 A +let y = T2 A + +op x +op y + diff --git a/testsuite/tests/safeHaskell/ghci/p16.stderr b/testsuite/tests/safeHaskell/ghci/p16.stderr new file mode 100644 index 0000000000..33602c70a5 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p16.stderr @@ -0,0 +1,15 @@ + +<no location info>: Warning: + -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving + +<interactive>:16:29: + Can't make a derived instance of `Op T2': + `Op' is not a derivable class + Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension + In the newtype declaration for `T2' + +<interactive>:19:9: + Not in scope: data constructor `T2' + Perhaps you meant `T1' (line 13) + +<interactive>:22:4: Not in scope: `y' diff --git a/testsuite/tests/safeHaskell/ghci/p16.stdout b/testsuite/tests/safeHaskell/ghci/p16.stdout new file mode 100644 index 0000000000..233a1e18c7 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p16.stdout @@ -0,0 +1 @@ +"t1" diff --git a/testsuite/tests/safeHaskell/ghci/p17.script b/testsuite/tests/safeHaskell/ghci/p17.script new file mode 100644 index 0000000000..c9821d4e17 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p17.script @@ -0,0 +1,10 @@ +-- Test bad imports +:unset +s +:set -XSafe + +-- test trustworthy and package flag +import Data.ByteString + +:set -fpackage-trust +import Data.ByteString + diff --git a/testsuite/tests/safeHaskell/ghci/p17.stderr b/testsuite/tests/safeHaskell/ghci/p17.stderr new file mode 100644 index 0000000000..c97035e7ab --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p17.stderr @@ -0,0 +1,3 @@ + +<no location info>: + bytestring-0.10.0.0:Data.ByteString can't be safely imported! The package (bytestring-0.10.0.0) the module resides in isn't trusted. diff --git a/testsuite/tests/safeHaskell/ghci/p2.script b/testsuite/tests/safeHaskell/ghci/p2.script new file mode 100644 index 0000000000..c2191165fd --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p2.script @@ -0,0 +1,10 @@ +-- Test bad options + +:unset +s +:set -XSafe + +-- we actually allow this for now but may want to revist this decision +:set -trust base +:set -distrust base +:set -distrust-all + diff --git a/testsuite/tests/safeHaskell/ghci/p2.stderr b/testsuite/tests/safeHaskell/ghci/p2.stderr new file mode 100644 index 0000000000..342bb05686 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p2.stderr @@ -0,0 +1,2 @@ +package flags have changed, resetting and loading new packages... +package flags have changed, resetting and loading new packages... diff --git a/testsuite/tests/safeHaskell/ghci/p2.stdout b/testsuite/tests/safeHaskell/ghci/p2.stdout new file mode 100644 index 0000000000..c6efa9ed48 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p2.stdout @@ -0,0 +1,2 @@ +cannot satisfy -package -all + (use -v for more information) diff --git a/testsuite/tests/safeHaskell/ghci/p3.script b/testsuite/tests/safeHaskell/ghci/p3.script new file mode 100644 index 0000000000..c2d9061739 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p3.script @@ -0,0 +1,12 @@ +-- Test bad imports +:unset +s +:set -XSafe + +import System.IO.Unsafe + +-- test trustworthy and package flag +import Data.ByteString + +:set -fpackage-trust +import Data.ByteString + diff --git a/testsuite/tests/safeHaskell/ghci/p3.stderr b/testsuite/tests/safeHaskell/ghci/p3.stderr new file mode 100644 index 0000000000..62aca4e2c0 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p3.stderr @@ -0,0 +1,6 @@ + +<no location info>: + base:System.IO.Unsafe can't be safely imported! The module itself isn't safe. + +<no location info>: + bytestring-0.10.0.0:Data.ByteString can't be safely imported! The package (bytestring-0.10.0.0) the module resides in isn't trusted. diff --git a/testsuite/tests/safeHaskell/ghci/p3.stdout b/testsuite/tests/safeHaskell/ghci/p3.stdout new file mode 100644 index 0000000000..268f05e8d9 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p3.stdout @@ -0,0 +1 @@ +can't import System.IO.Unsafe as it isn't trusted. diff --git a/testsuite/tests/safeHaskell/ghci/p4.script b/testsuite/tests/safeHaskell/ghci/p4.script new file mode 100644 index 0000000000..8d78f40679 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p4.script @@ -0,0 +1,8 @@ +-- Test bad direct calls +:unset +s +:set -XSafe + +let x = System.IO.Unsafe.unsafePerformIO +let y = x (putStrLn "Hello" >> return 1) +y + diff --git a/testsuite/tests/safeHaskell/ghci/p4.stderr b/testsuite/tests/safeHaskell/ghci/p4.stderr new file mode 100644 index 0000000000..8ff4107af8 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p4.stderr @@ -0,0 +1,6 @@ + +<interactive>:6:9: Not in scope: `System.IO.Unsafe.unsafePerformIO' + +<interactive>:7:9: Not in scope: `x' + +<interactive>:8:1: Not in scope: `y' diff --git a/testsuite/tests/safeHaskell/ghci/p5.script b/testsuite/tests/safeHaskell/ghci/p5.script new file mode 100644 index 0000000000..cdf6088812 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p5.script @@ -0,0 +1,13 @@ +-- Test unsetting safe +:unset +s +:set -XSafe + +:set -XSafe +:unset -XSafe + +:set -XTrustworthy +:unset -XTrustworthy + +:set -XUnsafe +:unset -XUnsafe + diff --git a/testsuite/tests/safeHaskell/ghci/p5.stdout b/testsuite/tests/safeHaskell/ghci/p5.stdout new file mode 100644 index 0000000000..3f649f7b60 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p5.stdout @@ -0,0 +1,7 @@ +don't know how to reverse -XSafe +ghc-stage2: <no location info>: Incompatible Safe Haskell flags! (Safe, Trustworthy) +Usage: For basic information, try the `--help' option. +don't know how to reverse -XTrustworthy +ghc-stage2: <no location info>: Incompatible Safe Haskell flags! (Safe, Unsafe) +Usage: For basic information, try the `--help' option. +don't know how to reverse -XUnsafe diff --git a/testsuite/tests/safeHaskell/ghci/p6.script b/testsuite/tests/safeHaskell/ghci/p6.script new file mode 100644 index 0000000000..8590fd6449 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p6.script @@ -0,0 +1,13 @@ +-- Test restricted functionality: FFI +:unset +s +:set -XSafe + +:set -XForeignFunctionInterface + +foreign import ccall "sin" c_sin' :: Double -> IO Double +x <- c_sin' 1 +x + +foreign import ccall "sin" c_sin :: Double -> Double +c_sin 1 + diff --git a/testsuite/tests/safeHaskell/ghci/p6.stderr b/testsuite/tests/safeHaskell/ghci/p6.stderr new file mode 100644 index 0000000000..b32c521b4d --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p6.stderr @@ -0,0 +1,10 @@ + +<interactive>:12:1: + Unacceptable result type in foreign declaration: Double + Safe Haskell is on, all FFI imports must be in the IO monad + When checking declaration: + foreign import ccall safe "static sin" c_sin :: Double -> Double + +<interactive>:13:1: + Not in scope: `c_sin' + Perhaps you meant c_sin' (line 8) diff --git a/testsuite/tests/safeHaskell/ghci/p6.stdout b/testsuite/tests/safeHaskell/ghci/p6.stdout new file mode 100644 index 0000000000..e83a344363 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p6.stdout @@ -0,0 +1 @@ +0.8414709848078965 diff --git a/testsuite/tests/safeHaskell/ghci/p7.script b/testsuite/tests/safeHaskell/ghci/p7.script new file mode 100644 index 0000000000..ea4190b0a4 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p7.script @@ -0,0 +1,6 @@ +-- Test load works +:unset +s +:set -XSafe + +:load A + diff --git a/testsuite/tests/safeHaskell/ghci/p7.stdout b/testsuite/tests/safeHaskell/ghci/p7.stdout new file mode 100644 index 0000000000..674794fdac --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p7.stdout @@ -0,0 +1,2 @@ +ghc-stage2: A.hs:1:14-24: Incompatible Safe Haskell flags! (Safe, Trustworthy) +Usage: For basic information, try the `--help' option. diff --git a/testsuite/tests/safeHaskell/ghci/p8.script b/testsuite/tests/safeHaskell/ghci/p8.script new file mode 100644 index 0000000000..7d5101f226 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p8.script @@ -0,0 +1,6 @@ +-- Test load works +:unset +s +:set -XSafe + +:load B + diff --git a/testsuite/tests/safeHaskell/ghci/p8.stdout b/testsuite/tests/safeHaskell/ghci/p8.stdout new file mode 100644 index 0000000000..8280f4a6b0 --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p8.stdout @@ -0,0 +1,2 @@ +ghc-stage2: B.hs:1:14-19: Incompatible Safe Haskell flags! (Safe, Unsafe) +Usage: For basic information, try the `--help' option. diff --git a/testsuite/tests/safeHaskell/ghci/p9.script b/testsuite/tests/safeHaskell/ghci/p9.script new file mode 100644 index 0000000000..298944dcae --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p9.script @@ -0,0 +1,10 @@ +-- Test load works +:unset +s +:set -XSafe + +:load C + +a + +b + diff --git a/testsuite/tests/safeHaskell/ghci/p9.stderr b/testsuite/tests/safeHaskell/ghci/p9.stderr new file mode 100644 index 0000000000..768948984e --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p9.stderr @@ -0,0 +1,2 @@ + +<interactive>:10:1: Not in scope: `b' diff --git a/testsuite/tests/safeHaskell/ghci/p9.stdout b/testsuite/tests/safeHaskell/ghci/p9.stdout new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/testsuite/tests/safeHaskell/ghci/p9.stdout @@ -0,0 +1 @@ +1 |