diff options
Diffstat (limited to 'testsuite')
17 files changed, 146 insertions, 12 deletions
diff --git a/testsuite/tests/driver/T4437.hs b/testsuite/tests/driver/T4437.hs index 142c348fca..5c81cf0525 100644 --- a/testsuite/tests/driver/T4437.hs +++ b/testsuite/tests/driver/T4437.hs @@ -38,7 +38,10 @@ check title expected got expectedGhcOnlyExtensions :: [String] expectedGhcOnlyExtensions = [ "TypeAbstractions", - "ExtendedLiterals" + "ExtendedLiterals", + "MethodTypeVariables", + "ExtendedForAllScope", + "ImplicitForAll" ] expectedCabalOnlyExtensions :: [String] diff --git a/testsuite/tests/rename/should_fail/RnNoImplicitForAll.hs b/testsuite/tests/rename/should_fail/RnNoImplicitForAll.hs new file mode 100644 index 0000000000..03147242d8 --- /dev/null +++ b/testsuite/tests/rename/should_fail/RnNoImplicitForAll.hs @@ -0,0 +1,36 @@ +{-# LANGUAGE NoImplicitForAll, GADTs, DeriveAnyClass #-} + +module RnNoImplicitForAll where + +import GHC.Types + +f :: a -> a +f = undefined + +type T :: k -> Type +data T k + +data G a where + MkG :: a -> Maybe b -> G (Either Int b) + +rightTrue = Right True :: Either a Bool + +munit :: forall m a . Monad m => m a +munit = pure undefined +{-# SPECIALISE munit :: IO a #-} + +class C a b + +data TD deriving (C a) + +instance Show a => Show (Maybe a) + +type family F a + +type instance F (Maybe a) = Int + +{-# RULES "name" forall (x :: Maybe a). foo x = 5 #-} + +foo x = 5 + +id (a :: t) = t diff --git a/testsuite/tests/rename/should_fail/RnNoImplicitForAll.stderr b/testsuite/tests/rename/should_fail/RnNoImplicitForAll.stderr new file mode 100644 index 0000000000..ff3918ded3 --- /dev/null +++ b/testsuite/tests/rename/should_fail/RnNoImplicitForAll.stderr @@ -0,0 +1,40 @@ + +RnNoImplicitForAll.hs:7:1: error: [GHC-78543] + Unbound type variable: ‘a’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:10:11: error: [GHC-78543] + Unbound type variable: ‘k’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:14:3: error: [GHC-78543] + Unbound type variables: ‘a’, ‘b’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:16:13: error: [GHC-78543] + Unbound type variable: ‘a’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:20:25: error: [GHC-78543] + Unbound type variable: ‘a’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:24:19: error: [GHC-78543] + Unbound type variable: ‘a’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:26:10: error: [GHC-78543] + Unbound type variable: ‘a’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:30:1: error: [GHC-78543] + Unbound type variable: ‘a’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:32:11: error: [GHC-78543] + Unbound type variable: ‘a’ + Suggested fix: Perhaps you intended to use ImplicitForAll + +RnNoImplicitForAll.hs:36:5: error: [GHC-78543] + Unbound type variable: ‘t’ + Suggested fix: Perhaps you intended to use ImplicitForAll diff --git a/testsuite/tests/rename/should_fail/T11663.stderr b/testsuite/tests/rename/should_fail/T11663.stderr index 4602d1992a..ae0e512dbe 100644 --- a/testsuite/tests/rename/should_fail/T11663.stderr +++ b/testsuite/tests/rename/should_fail/T11663.stderr @@ -1,20 +1,16 @@ T11663.hs:6:12: error: [GHC-74097] Illegal type signature: ‘Int’ - Type signatures are only allowed in patterns with ScopedTypeVariables - Suggested fix: Perhaps you intended to use ScopedTypeVariables + Suggested fix: Perhaps you intended to use PatternSignatures T11663.hs:7:9: error: [GHC-74097] Illegal type signature: ‘Int’ - Type signatures are only allowed in patterns with ScopedTypeVariables - Suggested fix: Perhaps you intended to use ScopedTypeVariables + Suggested fix: Perhaps you intended to use PatternSignatures T11663.hs:8:22: error: [GHC-74097] Illegal type signature: ‘Int’ - Type signatures are only allowed in patterns with ScopedTypeVariables - Suggested fix: Perhaps you intended to use ScopedTypeVariables + Suggested fix: Perhaps you intended to use PatternSignatures T11663.hs:9:32: error: [GHC-74097] Illegal type signature: ‘Int’ - Type signatures are only allowed in patterns with ScopedTypeVariables - Suggested fix: Perhaps you intended to use ScopedTypeVariables + Suggested fix: Perhaps you intended to use PatternSignatures diff --git a/testsuite/tests/rename/should_fail/WPatternSigBinds.hs b/testsuite/tests/rename/should_fail/WPatternSigBinds.hs new file mode 100644 index 0000000000..b3bdd68675 --- /dev/null +++ b/testsuite/tests/rename/should_fail/WPatternSigBinds.hs @@ -0,0 +1,8 @@ +{-# OPTIONS_GHC -Wpattern-signature-binds -Werror #-} +module WPatternSigBinds where + +f (x :: a) = x + +g (x :: a) (y :: b) = x + +h (x :: a) (y :: b c d) = x diff --git a/testsuite/tests/rename/should_fail/WPatternSigBinds.stderr b/testsuite/tests/rename/should_fail/WPatternSigBinds.stderr new file mode 100644 index 0000000000..f859316889 --- /dev/null +++ b/testsuite/tests/rename/should_fail/WPatternSigBinds.stderr @@ -0,0 +1,15 @@ + +WPatternSigBinds.hs:4:4: error: [GHC-65467] [-Wpattern-signature-binds, Werror=pattern-signature-binds] + Type variable binding in pattern signature: ‘a’ + +WPatternSigBinds.hs:6:4: error: [GHC-65467] [-Wpattern-signature-binds, Werror=pattern-signature-binds] + Type variable binding in pattern signature: ‘a’ + +WPatternSigBinds.hs:6:13: error: [GHC-65467] [-Wpattern-signature-binds, Werror=pattern-signature-binds] + Type variable binding in pattern signature: ‘b’ + +WPatternSigBinds.hs:8:4: error: [GHC-65467] [-Wpattern-signature-binds, Werror=pattern-signature-binds] + Type variable binding in pattern signature: ‘a’ + +WPatternSigBinds.hs:8:13: error: [GHC-65467] [-Wpattern-signature-binds, Werror=pattern-signature-binds] + Type variable bindings in pattern signature: ‘b’, ‘c’, ‘d’ diff --git a/testsuite/tests/rename/should_fail/all.T b/testsuite/tests/rename/should_fail/all.T index 883476aac5..b2cc4cd56c 100644 --- a/testsuite/tests/rename/should_fail/all.T +++ b/testsuite/tests/rename/should_fail/all.T @@ -198,3 +198,5 @@ test('RnUnexpectedStandaloneDeriving', normal, compile_fail, ['']) test('RnStupidThetaInGadt', normal, compile_fail, ['']) test('PackageImportsDisabled', normal, compile_fail, ['']) test('ImportLookupIllegal', normal, compile_fail, ['']) +test('RnNoImplicitForAll', normal, compile_fail, ['']) +test('WPatternSigBinds', normal, compile_fail, ['']) diff --git a/testsuite/tests/showIface/DocsInHiFile1.stdout b/testsuite/tests/showIface/DocsInHiFile1.stdout index b74854d941..d46dfa240b 100644 --- a/testsuite/tests/showIface/DocsInHiFile1.stdout +++ b/testsuite/tests/showIface/DocsInHiFile1.stdout @@ -144,5 +144,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/DocsInHiFileTH.stdout b/testsuite/tests/showIface/DocsInHiFileTH.stdout index 57ec74c37d..1179d04ae8 100644 --- a/testsuite/tests/showIface/DocsInHiFileTH.stdout +++ b/testsuite/tests/showIface/DocsInHiFileTH.stdout @@ -287,5 +287,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/HaddockIssue849.stdout b/testsuite/tests/showIface/HaddockIssue849.stdout index 3bd32adbcc..a4f7dc5278 100644 --- a/testsuite/tests/showIface/HaddockIssue849.stdout +++ b/testsuite/tests/showIface/HaddockIssue849.stdout @@ -67,5 +67,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/HaddockOpts.stdout b/testsuite/tests/showIface/HaddockOpts.stdout index 8af1142afe..3feab090c5 100644 --- a/testsuite/tests/showIface/HaddockOpts.stdout +++ b/testsuite/tests/showIface/HaddockOpts.stdout @@ -59,5 +59,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/LanguageExts.stdout b/testsuite/tests/showIface/LanguageExts.stdout index 1e0a2a89be..6fafc2a6f7 100644 --- a/testsuite/tests/showIface/LanguageExts.stdout +++ b/testsuite/tests/showIface/LanguageExts.stdout @@ -22,5 +22,6 @@ docs: StarIsType CUSKs FieldSelectors + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/MagicHashInHaddocks.stdout b/testsuite/tests/showIface/MagicHashInHaddocks.stdout index 2eb7eee959..d7450bff6b 100644 --- a/testsuite/tests/showIface/MagicHashInHaddocks.stdout +++ b/testsuite/tests/showIface/MagicHashInHaddocks.stdout @@ -69,5 +69,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/NoExportList.stdout b/testsuite/tests/showIface/NoExportList.stdout index 669774d8e4..5d7e7bd6b1 100644 --- a/testsuite/tests/showIface/NoExportList.stdout +++ b/testsuite/tests/showIface/NoExportList.stdout @@ -95,5 +95,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/PragmaDocs.stdout b/testsuite/tests/showIface/PragmaDocs.stdout index b2a9c929c6..0eff820a69 100644 --- a/testsuite/tests/showIface/PragmaDocs.stdout +++ b/testsuite/tests/showIface/PragmaDocs.stdout @@ -69,5 +69,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/showIface/ReExports.stdout b/testsuite/tests/showIface/ReExports.stdout index f0c1ab2c9f..f695a8da2d 100644 --- a/testsuite/tests/showIface/ReExports.stdout +++ b/testsuite/tests/showIface/ReExports.stdout @@ -66,5 +66,9 @@ docs: StandaloneKindSignatures FieldSelectors TypeAbstractions + PatternSignatures + ExtendedForAllScope + MethodTypeVariables + ImplicitForAll extensible fields: diff --git a/testsuite/tests/typecheck/should_fail/PatSynExistential.stderr b/testsuite/tests/typecheck/should_fail/PatSynExistential.stderr index 326974dc55..fe75d0bc24 100644 --- a/testsuite/tests/typecheck/should_fail/PatSynExistential.stderr +++ b/testsuite/tests/typecheck/should_fail/PatSynExistential.stderr @@ -1,4 +1,5 @@ -PatSynExistential.hs:6:1: [GHC-33973] - The result type of the signature for ‘P’, namely ‘x -> Maybe x’ + +PatSynExistential.hs:6:1: error: [GHC-33973] + • The result type of the signature for ‘P’, namely ‘x -> Maybe x’ mentions existential type variable ‘x’ - In the declaration for pattern synonym ‘P’ + • In the declaration for pattern synonym ‘P’ |