From 4e088ae14791b9e89b16e437fbbf33860feaacee Mon Sep 17 00:00:00 2001
From: BinderDavid
Date: Fri, 11 Oct 2024 09:24:15 +0000
Subject: [PATCH] deploy: 230bfedeee8bddb9abbee1aabbe3fcea626038bd
---
api/errors.json | 2 +-
index.html | 9 +-
.../after/AlreadyDeconstructed.hs | 5 +
.../before/AlreadyDeconstructed.hs | 5 +
.../GHC-38520/alreadyDeconstructed/index.html | 40 +++
messages/GHC-38520/index.html | 251 ++++++++++++++++++
.../strictField/after/StrictField.hs | 6 +
.../strictField/before/StrictField.hs | 6 +
messages/GHC-38520/strictField/index.html | 44 +++
.../unliftedTypes/after/UnliftedTypes.hs | 17 ++
.../unliftedTypes/before/UnliftedTypes.hs | 17 ++
messages/GHC-38520/unliftedTypes/index.html | 78 ++++++
12 files changed, 478 insertions(+), 2 deletions(-)
create mode 100644 messages/GHC-38520/alreadyDeconstructed/after/AlreadyDeconstructed.hs
create mode 100644 messages/GHC-38520/alreadyDeconstructed/before/AlreadyDeconstructed.hs
create mode 100644 messages/GHC-38520/alreadyDeconstructed/index.html
create mode 100644 messages/GHC-38520/index.html
create mode 100644 messages/GHC-38520/strictField/after/StrictField.hs
create mode 100644 messages/GHC-38520/strictField/before/StrictField.hs
create mode 100644 messages/GHC-38520/strictField/index.html
create mode 100644 messages/GHC-38520/unliftedTypes/after/UnliftedTypes.hs
create mode 100644 messages/GHC-38520/unliftedTypes/before/UnliftedTypes.hs
create mode 100644 messages/GHC-38520/unliftedTypes/index.html
diff --git a/api/errors.json b/api/errors.json
index 3c8cd8a0..759d4544 100644
--- a/api/errors.json
+++ b/api/errors.json
@@ -1 +1 @@
-[{"code":"Cabal-7070","examples":[],"metadata":{"introduced":"3.12.1.0","severity":"error","summary":"Cabal runs executables but not modules","title":"Run whole executable"},"route":"messages/Cabal-7070/index.html"},{"code":"GHC-00158","examples":[{"metadata":{"title":"Cannot derive instance for non-stock-deriveable class"},"name":"example1","route":"messages/GHC-00158/example1/index.html"},{"metadata":{"title":"Specifying an incorrect deriving strategy"},"name":"example2","route":"messages/GHC-00158/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An instance cannot be derived because the class is not stock deriveable.","title":"Cannot derive instance for non-stock-deriveable class"},"route":"messages/GHC-00158/index.html"},{"code":"GHC-00482","examples":[{"metadata":{"title":"Lambda syntax in `case` expression"},"name":"example1","route":"messages/GHC-00482/example1/index.html"},{"metadata":{"title":"Lambda syntax in pattern match"},"name":"example2","route":"messages/GHC-00482/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Lambda syntax appears in a pattern match.","title":"Lambda syntax in pattern"},"route":"messages/GHC-00482/index.html"},{"code":"GHC-00711","examples":[{"metadata":{"title":"Two deprecation warnings for same constant"},"name":"doubleDeprecation","route":"messages/GHC-00711/doubleDeprecation/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Duplicate deprecation warnings are illegal","title":"Duplicate warning declarations"},"route":"messages/GHC-00711/index.html"},{"code":"GHC-01239","examples":[{"metadata":{"title":"Unexpected if expression in function application"},"name":"example1","route":"messages/GHC-01239/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"If expression used as function argument","title":"Unexpected if expression in function application"},"route":"messages/GHC-01239/index.html"},{"code":"GHC-01629","examples":[{"metadata":{"title":"Too many type arguments in constructor pattern"},"name":"example1","route":"messages/GHC-01629/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Too many type applications to a constructor in a pattern.","title":"Too many type arguments in constructor pattern"},"route":"messages/GHC-01629/index.html"},{"code":"GHC-02256","examples":[{"metadata":{"title":"Ambiguous Record Update"},"name":"accounts","route":"messages/GHC-02256/accounts/index.html"}],"metadata":{"flag":"-Wambiguous-fields","introduced":"9.6.1","severity":"warning","summary":"Record update with duplicate field names is ambiguous","title":"Ambiguous record update"},"route":"messages/GHC-02256/index.html"},{"code":"GHC-03272","examples":[{"metadata":{"title":"Bidirectional formatting in a comment"},"name":"bidi-comment","route":"messages/GHC-03272/bidi-comment/index.html"}],"metadata":{"flag":"-Wunicode-bidirectional-format-characters","introduced":"9.6.1","severity":"warning","summary":"The source file contains Unicode bidirectional formatting instructions","title":"Bidirectional formatting warning"},"route":"messages/GHC-03272/index.html"},{"code":"GHC-04584","examples":[{"metadata":{"title":"Using .. in pattern"},"name":"matchingdots","route":"messages/GHC-04584/matchingdots/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"There has been an attempt to pattern match on expression syntax.","title":"Expression syntax in pattern"},"route":"messages/GHC-04584/index.html"},{"code":"GHC-04924","examples":[{"metadata":{"title":"Unknown flag in {-# OPTIONS_GHC #-} pragma"},"name":"example1","route":"messages/GHC-04924/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Unknown flag in {-# OPTIONS_GHC #-} pragma.","title":"Unknown flag in GHC options pragma"},"route":"messages/GHC-04924/index.html"},{"code":"GHC-04956","examples":[{"metadata":{"title":"Deriving instances for nullary classes"},"name":"nullary-class","route":"messages/GHC-04956/nullary-class/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"It is not possible to derive instances of argumentless type classes without the DeriveAnyClass extension.","title":"Can't derive instances of nullary classes"},"route":"messages/GHC-04956/index.html"},{"code":"GHC-05380","examples":[{"metadata":{"title":"More than 1 constructor for a newtype"},"name":"more-than-1-constructor","route":"messages/GHC-05380/more-than-1-constructor/index.html"},{"metadata":{"title":"Zero constructors for a newtype"},"name":"zero-constructors","route":"messages/GHC-05380/zero-constructors/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"More than 1 constructor for a newtype","title":"Multiple newtype constructors"},"route":"messages/GHC-05380/index.html"},{"code":"GHC-05641","examples":[{"metadata":{"title":"The Nothing constructor is documented with two separate Haddock comments"},"name":"multi-constructor-comments","route":"messages/GHC-05641/multi-constructor-comments/index.html"}],"metadata":{"flag":"-Winvalid-haddock","introduced":"9.6.1","severity":"warning","summary":"Multiple Haddock comments for a single entity are not allowed","title":"Multiple Haddock comments"},"route":"messages/GHC-05641/index.html"},{"code":"GHC-05661","examples":[{"metadata":{"title":"The module Prelude is incorrectly imported as qualified"},"name":"doubleQualified","route":"messages/GHC-05661/doubleQualified/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A module cannot be imported using the qualified modifier both before and after the name of the module","title":"Cannot use qualified both before and after the module"},"route":"messages/GHC-05661/index.html"},{"code":"GHC-05989","examples":[{"metadata":{"title":"Mismatched data declaration"},"name":"example1","route":"messages/GHC-05989/example1/index.html"}],"metadata":{"extension":"StandaloneKindSignatures","introduced":"9.6.1","severity":"error","summary":"A type constructor is declared with more arguments than its kind annotation specifies.","title":"Too many type binders"},"route":"messages/GHC-05989/index.html"},{"code":"GHC-06201","examples":[{"metadata":{"title":"No explicit implementation for method instance"},"name":"example1","route":"messages/GHC-06201/example1/index.html"},{"metadata":{"title":"No explicit implementation for method instance 2"},"name":"example2","route":"messages/GHC-06201/example2/index.html"}],"metadata":{"flag":"-Wmissing-methods","introduced":"9.6.1","severity":"warning","summary":"A required method is missing from the instance declaration.","title":"Missing method in type class instance"},"route":"messages/GHC-06201/index.html"},{"code":"GHC-06446","examples":[{"metadata":{"title":"Do notation in pattern match"},"name":"example1","route":"messages/GHC-06446/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Do notation in pattern match.","title":"Do notation in pattern match"},"route":"messages/GHC-06446/index.html"},{"code":"GHC-07626","examples":[{"metadata":{"title":"Parse error in pattern"},"name":"example","route":"messages/GHC-07626/example/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Compiler not able to parse pattern.","title":"Parse error in pattern"},"route":"messages/GHC-07626/index.html"},{"code":"GHC-09009","examples":[{"metadata":{"title":"Type roles should be one of representational, nominal, or phantom."},"name":"example1","route":"messages/GHC-09009/example1/index.html"}],"metadata":{"extension":"RoleAnnotations","introduced":"9.6.1","severity":"error","summary":"Type roles should be one of representational, nominal, or phantom.","title":"Illegal role name."},"route":"messages/GHC-09009/index.html"},{"code":"GHC-09646","examples":[{"metadata":{"title":"Using tuple section in pattern"},"name":"snd","route":"messages/GHC-09646/snd/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"There has been an attempt to pattern match on a tuple section.","title":"Tuple section in pattern"},"route":"messages/GHC-09646/index.html"},{"code":"GHC-10190","examples":[{"metadata":{"title":"An enumeration where the lower bound is greater than the upper bound"},"name":"bigger-start","route":"messages/GHC-10190/bigger-start/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"An enumeration would be empty.","title":"Empty enumeration"},"route":"messages/GHC-10190/index.html"},{"code":"GHC-10333","examples":[{"metadata":{"title":"Attempt to use newtype deriving for an ordinary datatype"},"name":"derive-newtype-data","route":"messages/GHC-10333/derive-newtype-data/index.html"}],"metadata":{"extension":"GeneralizedNewtypeDeriving, DerivingStrategies","introduced":"9.6.1","severity":"error","summary":"Generalized newtype deriving works only for types declared with the newtype keyword.","title":"Generalized newtype deriving doesn't work on non-newtypes"},"route":"messages/GHC-10333/index.html"},{"code":"GHC-11861","examples":[{"metadata":{"introduced":"9.6.1","severity":"error","summary":"Empty character is not a valid literal","title":"Empty character literals"},"name":"example1","route":"messages/GHC-11861/example1/index.html"},{"metadata":{"introduced":"9.6.1","severity":"error","title":"Incorrect TemplateHaskell syntax using ''"},"name":"example2","route":"messages/GHC-11861/example2/index.html"}],"metadata":{"extension":"TemplateHaskell","introduced":"9.6.1","severity":"error","summary":"No character literal provided within single quotes.","title":"Empty single quotes"},"route":"messages/GHC-11861/index.html"},{"code":"GHC-11913","examples":[{"metadata":{"title":"Deriving Int"},"name":"deriving-int","route":"messages/GHC-11913/deriving-int/index.html"},{"metadata":{"title":"Lowercase type class name"},"name":"lower-case","route":"messages/GHC-11913/lower-case/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Something other than a type class appears in a deriving statement.","title":"Illegal deriving item"},"route":"messages/GHC-11913/index.html"},{"code":"GHC-12003","examples":[{"metadata":{"title":"Type equality not imported from Prelude"},"name":"out-of-scope","route":"messages/GHC-12003/out-of-scope/index.html"}],"metadata":{"flag":"-Wtype-equality-out-of-scope","introduced":"9.6.1","severity":"warning","summary":"The type equality operator has not been imported into the current module.","title":"Type equality not in scope"},"route":"messages/GHC-12003/index.html"},{"code":"GHC-13218","examples":[{"metadata":{"order":0,"title":"Illegal kind signature for Void1 data type"},"name":"illegalKindSignature","route":"messages/GHC-13218/illegalKindSignature/index.html"},{"metadata":{"order":1,"title":"Illegal kind signature for Void1 data type"},"name":"illegalKindSignatureDesugared","route":"messages/GHC-13218/illegalKindSignatureDesugared/index.html"},{"metadata":{"order":2,"title":"Illegal kind signature for Void1 data type"},"name":"illegalStandaloneKindSignature","route":"messages/GHC-13218/illegalStandaloneKindSignature/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A linear function was used for a higher kind, which is not allowed","title":"Illegal linear function in kind"},"route":"messages/GHC-13218/index.html"},{"code":"GHC-19244","examples":[{"metadata":{"title":"A module was annotated as trustworthy, but inferred as safe"},"name":"trustworthy-safe","route":"messages/GHC-19244/trustworthy-safe/index.html"}],"metadata":{"flag":"-Wtrustworthy-safe","introduced":"9.6.1","severity":"warning","summary":"The module is annotated to be trustworthy, but it could be annotated as safe","title":"Module is annotated as trustworthy, but is inferred as safe"},"route":"messages/GHC-19244/index.html"},{"code":"GHC-20125","examples":[{"metadata":{"title":"Uninitialized record field"},"name":"example1","route":"messages/GHC-20125/example1/index.html"}],"metadata":{"flag":"-Wmissing-fields","introduced":"9.6.1","severity":"warning","summary":"Initialization of record with missing field(s).","title":"Missing field(s)"},"route":"messages/GHC-20125/index.html"},{"code":"GHC-20825","examples":[{"metadata":{"title":"No fields updated"},"name":"no-fields","route":"messages/GHC-20825/no-fields/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"Record update syntax requires that at least one field be specified.","title":"Empty record update"},"route":"messages/GHC-20825/index.html"},{"code":"GHC-21231","examples":[{"metadata":{"title":"Typo: lower-case class name"},"name":"escape-seq-oor","route":"messages/GHC-21231/escape-seq-oor/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The numeric escape sequence represents a number that is too large","title":"Numeric escape sequence out of range"},"route":"messages/GHC-21231/index.html"},{"code":"GHC-24180","examples":[{"metadata":{"title":"Type operator missing an argument"},"name":"missing-argument","route":"messages/GHC-24180/missing-argument/index.html"},{"metadata":{"title":"Use of ∀ without UnicodeSyntax being enabled"},"name":"no-unicode","route":"messages/GHC-24180/no-unicode/index.html"}],"metadata":{"extension":"TypeOperators","introduced":"9.6.1","severity":"warning","summary":"A type operator was not provided with both arguments.","title":"Too few arguments to infix type operator"},"route":"messages/GHC-24180/index.html"},{"code":"GHC-25078","examples":[{"metadata":{"title":"Invalid operator precedence"},"name":"example1","route":"messages/GHC-25078/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An invalid operator precedence was provided.","title":"Precedence out of range"},"route":"messages/GHC-25078/index.html"},{"code":"GHC-25897","examples":[{"metadata":{"title":"A pattern match, without known return type, on a GADT"},"name":"example1","route":"messages/GHC-25897/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A pattern match on a GADT cannot succeed unless GHC knows the result type of the pattern match.","title":"GADT pattern match must have a known result type"},"route":"messages/GHC-25897/index.html"},{"code":"GHC-27207","examples":[{"metadata":{"title":"Missing space after tilde `~`"},"name":"example1","route":"messages/GHC-27207/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Lazy pattern in expression context.","title":"Missing space after tilde `~`"},"route":"messages/GHC-27207/index.html"},{"code":"GHC-28007","examples":[{"metadata":{"title":"Misplaced language pragma"},"name":"example1","route":"messages/GHC-28007/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"LANGUAGE pragmas should come before the module declaration.","title":"Misplaced LANGUAGE pragma"},"route":"messages/GHC-28007/index.html"},{"code":"GHC-30606","examples":[{"metadata":{"title":"Redundant equality constraints"},"name":"example-equality","route":"messages/GHC-30606/example-equality/index.html"},{"metadata":{"title":"Redundant typeclass constraints"},"name":"example-typeclasses","route":"messages/GHC-30606/example-typeclasses/index.html"}],"metadata":{"flag":"-Wredundant-constraints","introduced":"9.6.1","severity":"warning","summary":"A binding has constraints that are redundant.","title":"Redundant constraints"},"route":"messages/GHC-30606/index.html"},{"code":"GHC-31574","examples":[{"metadata":{"title":"Linear identity function needs LinearTypes extension"},"name":"linearIdentity","route":"messages/GHC-31574/linearIdentity/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The linear function type is used, but LinearTypes are not enabled","title":"Illegal use of linear functions"},"route":"messages/GHC-31574/index.html"},{"code":"GHC-39999","examples":[{"metadata":{"order":0,"title":"A usage of (==) on a data type which doesn‘t have an instance for Eq."},"name":"no-instance","route":"messages/GHC-39999/no-instance/index.html"},{"metadata":{"order":1,"title":"A usage of `+` on a too polymorphic variable."},"name":"too-polymorphic","route":"messages/GHC-39999/too-polymorphic/index.html"},{"metadata":{"order":2,"title":"A usage of `x.foo` with the field `foo` not being in scope"},"name":"overloaded-record-dot-selector-not-in-scope","route":"messages/GHC-39999/overloaded-record-dot-selector-not-in-scope/index.html"},{"metadata":{"order":3,"title":"Missing superclass declaration"},"name":"superclass","route":"messages/GHC-39999/superclass/index.html"},{"metadata":{"order":4,"title":"Adding numbers to strings"},"name":"adding-number-to-string","route":"messages/GHC-39999/adding-number-to-string/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An expression requires a type class instance which is not provided by the context.","title":"No instance arising"},"route":"messages/GHC-39999/index.html"},{"code":"GHC-40798","examples":[{"metadata":{"flag":"-Wall, -Wcompat, or -Woperator-whitespace","introduced":"9.6.1","severity":"warning","summary":"A warning for detecting usage of infix, suffix or prefix operators that could be parsed differently in the future due to whitespace.","title":"operator-whitespace"},"name":"example1","route":"messages/GHC-40798/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"An optional warning for detecting usage of infix, suffix or prefix operators that could be parsed differently in future due to whitespace.","title":"Operator whitespace"},"route":"messages/GHC-40798/index.html"},{"code":"GHC-42044","examples":[{"metadata":{"title":"Misspelled pragmas"},"name":"example1","route":"messages/GHC-42044/example1/index.html"}],"metadata":{"flag":"-Wunrecognised-pragmas","introduced":"9.6.1","severity":"warning","summary":"GHC didn't recognize pragma and will thus ignore it","title":"Unrecognised pragma"},"route":"messages/GHC-42044/index.html"},{"code":"GHC-44360","examples":[{"metadata":{"title":"Safe module tries to import Unsafe.Coerce"},"name":"unsafe-import","route":"messages/GHC-44360/unsafe-import/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Only safe modules can be imported in modules which are declared safe","title":"Cannot import unsafe modules in Safe Haskell"},"route":"messages/GHC-44360/index.html"},{"code":"GHC-44432","examples":[{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"let-binding","route":"messages/GHC-44432/let-binding/index.html"},{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"toplevel","route":"messages/GHC-44432/toplevel/index.html"},{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"typo","route":"messages/GHC-44432/typo/index.html"},{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"where-clause","route":"messages/GHC-44432/where-clause/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A type signature was provided, but no binding was given.","title":"Type signature lacks an accompanying binding"},"route":"messages/GHC-44432/index.html"},{"code":"GHC-45696","examples":[{"metadata":{"title":"If-Then-Else in pattern match"},"name":"example1","route":"messages/GHC-45696/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"If-Then-Else expression in pattern match.","title":"If-Then-Else in pattern match"},"route":"messages/GHC-45696/index.html"},{"code":"GHC-46537","examples":[{"metadata":{"title":"Unsupported extension"},"name":"example1","route":"messages/GHC-46537/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"GHC failed to recognize name of a language extension","title":"Unsupported extension"},"route":"messages/GHC-46537/index.html"},{"code":"GHC-46956","examples":[{"metadata":{"title":"An escaping kind variable"},"name":"example1","route":"messages/GHC-46956/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A local kind variable was used to classify a type from a scope in which the kind variable is not available.","title":"Kind variable would escape its scope"},"route":"messages/GHC-46956/index.html"},{"code":"GHC-47535","examples":[{"metadata":{"title":"Identifier is a top-level binding, not a record selector"},"name":"example1","route":"messages/GHC-47535/example1/index.html"},{"metadata":{"title":"Identifier is a class method, not a record selector"},"name":"example2","route":"messages/GHC-47535/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An identifier does not refer to a record selector but is used as such.","title":"Identifier is not a record selector"},"route":"messages/GHC-47535/index.html"},{"code":"GHC-47854","examples":[{"metadata":{"title":"Duplicate export"},"name":"example1","route":"messages/GHC-47854/example1/index.html"},{"metadata":{"title":"Duplicate field export"},"name":"example2","route":"messages/GHC-47854/example2/index.html"}],"metadata":{"flag":"-Wduplicate-exports","introduced":"9.6.1","severity":"warning","summary":"An identifier appears twice in an export list.","title":"Duplicate Exports"},"route":"messages/GHC-47854/index.html"},{"code":"GHC-48099","examples":[{"metadata":{"title":"Top-level strict bindings"},"name":"strict","route":"messages/GHC-48099/strict/index.html"},{"metadata":{"title":"Unlifted top-level binding"},"name":"unlifted","route":"messages/GHC-48099/unlifted/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Top-level bindings may not be strict, and they may not have unlifted types.","title":"Top-level strict or unlifted binds not allowed"},"route":"messages/GHC-48099/index.html"},{"code":"GHC-48361","examples":[{"metadata":{"title":"Binding type variables is not allowed in pattern bindings"},"name":"example1","route":"messages/GHC-48361/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"You can only bind value-level variables in a pattern, not type variables.","title":"Binding type variables is not allowed in pattern bindings"},"route":"messages/GHC-48361/index.html"},{"code":"GHC-49957","examples":[{"metadata":{"title":"Unticked promoted constructor"},"name":"unticked","route":"messages/GHC-49957/unticked/index.html"}],"metadata":{"extension":"DataKinds","flag":"-Wunticked-promoted-constructors","introduced":"9.6.1","severity":"warning","summary":"A promoted data constructor was used as a type without it being indicated with a tick mark.","title":"Unticked promoted constructors"},"route":"messages/GHC-49957/index.html"},{"code":"GHC-51179","examples":[{"metadata":{"title":"Missing LambdaCase language extension"},"name":"example1","route":"messages/GHC-51179/example1/index.html"}],"metadata":{"extension":"LambdaCase","introduced":"9.6.1","severity":"error","summary":"Missing LambdaCase language extension","title":"Missing LambdaCase"},"route":"messages/GHC-51179/index.html"},{"code":"GHC-53633","examples":[{"metadata":{"title":"Redundant catchall pattern"},"name":"overlapping-catchall","route":"messages/GHC-53633/overlapping-catchall/index.html"},{"metadata":{"title":"Redundant constructor pattern"},"name":"overlapping-patterns","route":"messages/GHC-53633/overlapping-patterns/index.html"}],"metadata":{"flag":"-Woverlapping-patterns","introduced":"9.6.1","severity":"warning","summary":"A pattern is impossible to reach due to earlier patterns","title":"Redundant patterns"},"route":"messages/GHC-53633/index.html"},{"code":"GHC-53786","examples":[{"metadata":{"title":"Case expression in case pattern"},"name":"case-expr-in-case-pattern","route":"messages/GHC-53786/case-expr-in-case-pattern/index.html"},{"metadata":{"title":"Case expression in do-block"},"name":"case-expr-in-do-block","route":"messages/GHC-53786/case-expr-in-do-block/index.html"},{"metadata":{"title":"Case expression in function argument pattern"},"name":"case-expr-in-fun-def","route":"messages/GHC-53786/case-expr-in-fun-def/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A pattern contains case-of syntax.","title":"Case expression included in pattern"},"route":"messages/GHC-53786/index.html"},{"code":"GHC-54540","examples":[{"metadata":{"title":"Cannot derive an instance for an abstract type"},"name":"constructorsNotInScope","route":"messages/GHC-54540/constructorsNotInScope/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"It is not possible to derive a typeclass instance if the constructors of the type are not in scope","title":"Cannot derive instance without constructors in scope"},"route":"messages/GHC-54540/index.html"},{"code":"GHC-55666","examples":[{"metadata":{"title":"Bang (!) on unlifted type"},"name":"example","route":"messages/GHC-55666/example/index.html"}],"metadata":{"flag":"-Wredundant-strictness-flags","introduced":"9.6.1","severity":"warning","summary":"Using a strictness annotation (bang) on an unlifted type is redudant as unlifted values are strict by definition","title":"Strictness annotation on unlifted type"},"route":"messages/GHC-55666/index.html"},{"code":"GHC-56147","examples":[{"metadata":{"title":"Cannot add a rewrite rule for the identity function"},"name":"ignored-rule","route":"messages/GHC-56147/ignored-rule/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"Rewrite rules are not allowed in Safe Haskell and are therefore ignored","title":"Rewrite rules are ignored in Safe Haskell"},"route":"messages/GHC-56147/index.html"},{"code":"GHC-56538","examples":[{"metadata":{"title":"Typo: lower-case class name"},"name":"int-instance","route":"messages/GHC-56538/int-instance/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A type class instance declaration is declared for something that is not a type class.","title":"Instance head is not headed by a class"},"route":"messages/GHC-56538/index.html"},{"code":"GHC-57396","examples":[{"metadata":{"title":"Linear function type was used in foreign function call"},"name":"linear-ffi","route":"messages/GHC-57396/linear-ffi/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Linear types are not supported when using GHC's FFI functionality","title":"Linear types are not supported in FFI"},"route":"messages/GHC-57396/index.html"},{"code":"GHC-58008","examples":[{"metadata":{"title":"Pattern matching on GADTs without MonoLocalBinds"},"name":"gadt-without-monobind","route":"messages/GHC-58008/gadt-without-monobind/index.html"}],"metadata":{"flag":"-Wgadt-mono-local-binds","introduced":"9.6.1","severity":"warning","summary":"Pattern matching on GADTs without MonoLocalBinds is fragile","title":"Pattern matching on GADTs without MonoLocalBinds is fragile"},"route":"messages/GHC-58008/index.html"},{"code":"GHC-58481","examples":[{"metadata":{"title":"Parse error expression"},"name":"example1","route":"messages/GHC-58481/example1/index.html"},{"metadata":{"title":"Parse error in OPAQUE pragma"},"name":"example2","route":"messages/GHC-58481/example2/index.html"},{"metadata":{"title":"Incorrect syntax of ($) operator usage"},"name":"example3","route":"messages/GHC-58481/example3/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Generic parsing error.","title":"Parse error on input"},"route":"messages/GHC-58481/index.html"},{"code":"GHC-58656","examples":[{"metadata":{"title":"A module is inferred as safe but not annotated as safe"},"name":"inferred-safe","route":"messages/GHC-58656/inferred-safe/index.html"}],"metadata":{"flag":"-Wsafe","introduced":"9.6.1","severity":"warning","summary":"If a module is inferred as safe, then it should be annotated as safe","title":"Module is inferred to be safe"},"route":"messages/GHC-58656/index.html"},{"code":"GHC-59840","examples":[{"metadata":{"title":"Computing a multiplicity with a type family and GADT is not supported"},"name":"linearPolyType","route":"messages/GHC-59840/linearPolyType/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"GHC does not support GADTs or type families which witness equality of multiplicities","title":"GHC does not support GADTs or type families which witness equality of multiplicities"},"route":"messages/GHC-59840/index.html"},{"code":"GHC-61689","examples":[{"metadata":{"title":"Importing an unexported symbol."},"name":"example1","route":"messages/GHC-61689/example1/index.html"},{"metadata":{"title":"Importing a field selector that has been disabled with NoFieldSelectors."},"name":"example2","route":"messages/GHC-61689/example2/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"Module does not export the imported symbol.","title":"Bad import not exported"},"route":"messages/GHC-61689/index.html"},{"code":"GHC-62016","examples":[{"metadata":{"title":"Deriving Functor for a type with an argument of non-Type kind"},"name":"deriving-f-int","route":"messages/GHC-62016/deriving-f-int/index.html"},{"metadata":{"title":"Deriving Functor for a ground type"},"name":"deriving-pet","route":"messages/GHC-62016/deriving-pet/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An instance cannot be derived because the kinds cannot be made to match.","title":"Cannot derive well-kinded instance"},"route":"messages/GHC-62016/index.html"},{"code":"GHC-62161","examples":[{"metadata":{"title":"Sum of a list"},"name":"example1","route":"messages/GHC-62161/example1/index.html"},{"metadata":{"title":"Safe head of a list"},"name":"example2","route":"messages/GHC-62161/example2/index.html"}],"metadata":{"flag":"-Wincomplete-patterns","introduced":"9.6.1","severity":"warning","summary":"Pattern match(es) are non-exhaustive.","title":"Incomplete patterns"},"route":"messages/GHC-62161/index.html"},{"code":"GHC-62330","examples":[{"metadata":{"title":"Underscore not allowed in float literal"},"name":"example1","route":"messages/GHC-62330/example1/index.html"},{"metadata":{"title":"Underscore not allowed in integer literal"},"name":"example2","route":"messages/GHC-62330/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Float and integer literals cannot contain underscores.","title":"Underscores not allowed in float and integer literals"},"route":"messages/GHC-62330/index.html"},{"code":"GHC-63394","examples":[{"metadata":{"title":"`head` is a partial function"},"name":"example1","route":"messages/GHC-63394/example1/index.html"},{"metadata":{"title":"`tail` is a partial function"},"name":"example2","route":"messages/GHC-63394/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"Warning or deprecation message attached to a function, class, type, or module in a library","title":"Messages from WARNING and DEPRECATED pragmas"},"route":"messages/GHC-63394/index.html"},{"code":"GHC-64088","examples":[{"metadata":{"title":"The identifier \"forall\" should not be used"},"name":"forall-identifier","route":"messages/GHC-64088/forall-identifier/index.html"}],"metadata":{"flag":"-Wforall-identifier","introduced":"9.6.1","severity":"warning","summary":"Use of \"forall\" as an identifier is discouraged","title":"Use of \"forall\" as an identifier"},"route":"messages/GHC-64088/index.html"},{"code":"GHC-64725","examples":[{"metadata":{"title":"Cannot Display functions"},"name":"display","route":"messages/GHC-64725/display/index.html"},{"metadata":{"title":"Cannot encode arbitrary precision integers"},"name":"encode","route":"messages/GHC-64725/encode/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An invalid constraint or type family reduces to a custom type error.","title":"User-defined type error"},"route":"messages/GHC-64725/index.html"},{"code":"GHC-66228","examples":[{"metadata":{"title":"Missing lambda"},"name":"not-lambda","route":"messages/GHC-66228/not-lambda/index.html"},{"metadata":{"title":"View pattern in expression"},"name":"view-pattern-expr","route":"messages/GHC-66228/view-pattern-expr/index.html"}],"metadata":{"extension":"ViewPatterns","introduced":"9.6.1","summary":"A view pattern was used in an expression, rather than a pattern.","title":"View pattern in expression context"},"route":"messages/GHC-66228/index.html"},{"code":"GHC-68686","examples":[{"metadata":{"title":"Invalid LANGUAGE pragma"},"name":"example1","route":"messages/GHC-68686/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The arguments to the LANGUAGE pragma could not be parsed","title":"Cannot parse LANGUAGE pragma"},"route":"messages/GHC-68686/index.html"},{"code":"GHC-69158","examples":[{"metadata":{"title":"Name clash due to mix of qualified and unqualified re-export"},"name":"example","route":"messages/GHC-69158/example/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Different identifiers with the same name are (re-)exported from the same module.","title":"Conflicting exports"},"route":"messages/GHC-69158/index.html"},{"code":"GHC-69925","examples":[{"metadata":{"title":"Illegal unboxed string literal in pattern"},"name":"example1","route":"messages/GHC-69925/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Illegal unboxed string literal in pattern.","title":"Illegal unboxed string literal in pattern"},"route":"messages/GHC-69925/index.html"},{"code":"GHC-70712","examples":[{"metadata":{"title":"Double dots in record update"},"name":"double-dot","route":"messages/GHC-70712/double-dot/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Double-dot syntax is not allowed in a record update.","title":"Double dots in record update"},"route":"messages/GHC-70712/index.html"},{"code":"GHC-71614","examples":[{"metadata":{"title":"Empty parameter list in lambda"},"name":"example1","route":"messages/GHC-71614/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A lambda expression must have at least one parameter.","title":"Lambda requires at least one parameter"},"route":"messages/GHC-71614/index.html"},{"code":"GHC-75356","examples":[{"metadata":{"title":"Export item suggests constructors/methods"},"name":"example1","route":"messages/GHC-75356/example1/index.html"}],"metadata":{"flag":"-Wdodgy-imports","introduced":"9.6.1","severity":"warning","summary":"An export item suggests that (in-scope) constructors or class methods exist when they do not.","title":"Export item suggests constructors/methods"},"route":"messages/GHC-75356/index.html"},{"code":"GHC-76037","examples":[{"metadata":{"title":"Unbound data constructor in lambda"},"name":"example1","route":"messages/GHC-76037/example1/index.html"},{"metadata":{"title":"Unbound class name"},"name":"example2","route":"messages/GHC-76037/example2/index.html"},{"metadata":{"title":"Data constructor not imported"},"name":"example3","route":"messages/GHC-76037/example3/index.html"},{"metadata":{"title":"Field selector exported with NoFieldSelectors"},"name":"example4","route":"messages/GHC-76037/example4/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An identifier is not in scope.","title":"Not in scope"},"route":"messages/GHC-76037/index.html"},{"code":"GHC-77037","examples":[{"metadata":{"title":"Importing Data.Maybe (Maybe(..))"},"name":"example1","route":"messages/GHC-77037/example1/index.html"}],"metadata":{"flag":"-Wmissing-import-lists","introduced":"9.6.1","severity":"warning","summary":"Items brought into scope are not listed explicitly.","title":"No explicit import list"},"route":"messages/GHC-77037/index.html"},{"code":"GHC-77539","examples":[{"metadata":{"title":"Use of a tuple constraint"},"name":"tuple-constraint","route":"messages/GHC-77539/tuple-constraint/index.html"}],"metadata":{"extension":"ConstraintKinds","introduced":"9.6.1","severity":"error","summary":"A tuple of constraints was used without enabling the ConstraintKinds extension","title":"Illegal tuple constraint"},"route":"messages/GHC-77539/index.html"},{"code":"GHC-78892","examples":[{"metadata":{"title":"Using let ... in ... syntax in pattern."},"name":"example","route":"messages/GHC-78892/example/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An attempt has been made to use a let expression whilst pattern matching.","title":"let-syntax in pattern"},"route":"messages/GHC-78892/index.html"},{"code":"GHC-80768","examples":[{"metadata":{"title":"Kind signatures on classes must end with Constraint unobscured by type families"},"name":"example1","route":"messages/GHC-80768/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"It is an error to use type families in the return kind of a class","title":"Class kind signatures need to be constraints"},"route":"messages/GHC-80768/index.html"},{"code":"GHC-83865","examples":[{"metadata":{"order":0,"title":"Values of Different Types"},"name":"terms","route":"messages/GHC-83865/terms/index.html"},{"metadata":{"order":1,"title":"Type expected, but kind received."},"name":"type-kind-mism","route":"messages/GHC-83865/type-kind-mism/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"You provided a value of a given type, whereas GHC expected a different type.","title":"Type Mismatch"},"route":"messages/GHC-83865/index.html"},{"code":"GHC-84077","examples":[{"metadata":{"title":"Missing space before type application"},"name":"example1","route":"messages/GHC-84077/example1/index.html"},{"metadata":{"title":"Missing space in type application"},"name":"example2","route":"messages/GHC-84077/example2/index.html"}],"metadata":{"extension":"TypeApplications","introduced":"9.6.1","severity":"error","summary":"A type application with @ does not have a space before.","title":"Type application without space"},"route":"messages/GHC-84077/index.html"},{"code":"GHC-87139","examples":[{"metadata":{"title":"Illegal deriving strategy on newtype"},"name":"illegalDerivingStrategy","route":"messages/GHC-87139/illegalDerivingStrategy/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"Use of a deriving strategy without enabling the corresponding language extension","title":"Illegal deriving strategy"},"route":"messages/GHC-87139/index.html"},{"code":"GHC-87429","examples":[{"metadata":{"title":"Illegal datatype context, fixed with use-site constraints"},"name":"example1","route":"messages/GHC-87429/example1/index.html"},{"metadata":{"title":"Illegal datatype context, fixed with GADTs"},"name":"example2","route":"messages/GHC-87429/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Constraints present in datatype declaration without DatatypeContexts.","title":"Illegal datatype context"},"route":"messages/GHC-87429/index.html"},{"code":"GHC-87491","examples":[{"metadata":{"title":"Found 'qualified' after the module"},"name":"example1","route":"messages/GHC-87491/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"qualified after the module requires the ImportQualifiedPost extension.","title":"Found 'qualified' after the module"},"route":"messages/GHC-87491/index.html"},{"code":"GHC-88464","examples":[{"metadata":{"title":"Attempted to refer to another function's argument"},"name":"example1","route":"messages/GHC-88464/example1/index.html"},{"metadata":{"title":"Forgetting an import declaration"},"name":"example2","route":"messages/GHC-88464/example2/index.html"},{"metadata":{"title":"Attempted to use a field selector disabled with NoFieldSelectors"},"name":"example3","route":"messages/GHC-88464/example3/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An unknown variable name was referenced.","title":"Variable not in scope"},"route":"messages/GHC-88464/index.html"},{"code":"GHC-88747","examples":[{"metadata":{"title":"Unary minus mixed with multiplication"},"name":"unary-minus","route":"messages/GHC-88747/unary-minus/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Cannot determine the order of operators in an expression","title":"Precedence parsing error"},"route":"messages/GHC-88747/index.html"},{"code":"GHC-88933","examples":[{"metadata":{"order":1,"title":"A default declaration was provided for Bool"},"name":"bool-default-declaration","route":"messages/GHC-88933/bool-default-declaration/index.html"},{"metadata":{"order":2,"title":"A default declaration was provided for String"},"name":"string-default-declaration","route":"messages/GHC-88933/string-default-declaration/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Default declarations may only mention types which implement the Num type class","title":"Non-numeric type in default declaration"},"route":"messages/GHC-88933/index.html"},{"code":"GHC-90177","examples":[{"metadata":{"title":"Orphan instance in a separate module from definitions"},"name":"example1","route":"messages/GHC-90177/example1/index.html"}],"metadata":{"flag":"-Worphans","introduced":"9.6.1","severity":"warning","summary":"An instance was defined separately from its type or class.","title":"Orphan instance"},"route":"messages/GHC-90177/index.html"},{"code":"GHC-90584","examples":[{"metadata":{"title":"Deriving ‘Typeable’ has no effect"},"name":"example1","route":"messages/GHC-90584/example1/index.html"}],"metadata":{"flag":"-Wderiving-typeable","introduced":"9.6.1","severity":"warning","summary":"The type class `Typeable` does not need to be derived.","title":"Deriving `Typeable` has no effect"},"route":"messages/GHC-90584/index.html"},{"code":"GHC-91028","examples":[{"metadata":{"title":"Enabling Impredicativity"},"name":"impred","route":"messages/GHC-91028/impred/index.html"},{"metadata":{"title":"Impredicative Kind Polymorphism"},"name":"predkinds","route":"messages/GHC-91028/predkinds/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"During type inference, GHC can't instantiate a type variable with a type that is itself polymorphic.","title":"Cannot equate polymorphic types with type variables"},"route":"messages/GHC-91028/index.html"},{"code":"GHC-91938","examples":[{"metadata":{"title":"Varying numbers of arguments"},"name":"example1","route":"messages/GHC-91938/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Each equation in a function definition must have the same number of arguments.","title":"Equations have different number of arguments"},"route":"messages/GHC-91938/index.html"},{"code":"GHC-92994","examples":[{"metadata":{"title":"Nested forall in a foreign function type"},"name":"nested-forall","route":"messages/GHC-92994/nested-forall/index.html"}],"metadata":{"extension":"CApiFFI, RankNTypes","introduced":"9.6.1","severity":"error","summary":"A foreign function import uses a higher-rank type.","title":"Unexpected nested forall in foreign declaration"},"route":"messages/GHC-92994/index.html"},{"code":"GHC-93557","examples":[{"metadata":{"title":"Cannot implement a typeclass for type synonyms by default"},"name":"illegalSynonymInstance","route":"messages/GHC-93557/illegalSynonymInstance/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"Illegal typeclass instance","title":"Illegal typeclass instance"},"route":"messages/GHC-93557/index.html"},{"code":"GHC-94458","examples":[{"metadata":{"title":"Illegal Haddock comments for definitions in where clause"},"name":"illegalHaddockComment","route":"messages/GHC-94458/illegalHaddockComment/index.html"}],"metadata":{"flag":"-Winvalid-haddock","introduced":"9.6.1","severity":"warning","summary":"A Haddock comment appears in an illegal position","title":"Illegal position of Haddock comment"},"route":"messages/GHC-94458/index.html"},{"code":"GHC-94817","examples":[{"metadata":{"title":"A file that uses a tab for indentation"},"name":"tab","route":"messages/GHC-94817/tab/index.html"}],"metadata":{"flag":"-Wtabs","introduced":"9.6.1","severity":"warning","summary":"A tab character occurred in the input file.","title":"Tab character"},"route":"messages/GHC-94817/index.html"},{"code":"GHC-95644","examples":[{"metadata":{"title":"Missing space after exclamation `!`"},"name":"example1","route":"messages/GHC-95644/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Bang pattern in expression context.","title":"Missing space after exclamation mark `!`"},"route":"messages/GHC-95644/index.html"},{"code":"GHC-95781","examples":[{"metadata":{"title":"Type application with type variable marked as inferred"},"name":"inferred-type-var-application","route":"messages/GHC-95781/inferred-type-var-application/index.html"},{"metadata":{"title":"Type application with no type variable"},"name":"type-app-no-type-var","route":"messages/GHC-95781/type-app-no-type-var/index.html"},{"metadata":{"title":"Type application with non-annotated expression"},"name":"type-for-term-arg","route":"messages/GHC-95781/type-for-term-arg/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The expression cannot be applied to the given type argument.","title":"Invalid type application"},"route":"messages/GHC-95781/index.html"},{"code":"GHC-95909","examples":[{"metadata":{"title":"Missing strict field in record syntax"},"name":"example1","route":"messages/GHC-95909/example1/index.html"},{"metadata":{"title":"All fields are strict if the StrictData language extension is enabled"},"name":"example2","route":"messages/GHC-95909/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Constructor was not instantiated with required strict field(s).","title":"Missing strict fields"},"route":"messages/GHC-95909/index.html"},{"code":"GHC-97044","examples":[{"metadata":{"title":"Attempts to create hand-written instances for special type classes"},"name":"example1","route":"messages/GHC-97044/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Type class does not allow user-specified instances","title":"User-specified instance is not allowed"},"route":"messages/GHC-97044/index.html"},{"code":"GHC-97170","examples":[{"metadata":{"title":"Double role annotation on datatype"},"name":"doubleRoleAnnotationOnData","route":"messages/GHC-97170/doubleRoleAnnotationOnData/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"A type declaration has more than one accompanying role annotation","title":"Duplicate role annotations"},"route":"messages/GHC-97170/index.html"},{"code":"GHC-97441","examples":[{"metadata":{"title":"Overflowed Literals"},"name":"example1","route":"messages/GHC-97441/example1/index.html"}],"metadata":{"flag":"-Woverflowed-literals","introduced":"9.6.1","severity":"warning","summary":"Literal overflowing range of supported values","title":"Overflowed Literals"},"route":"messages/GHC-97441/index.html"},{"code":"GHC-97739","examples":[{"metadata":{"title":"Kind and type variables out of dependency order"},"name":"example","route":"messages/GHC-97739/example/index.html"}],"metadata":{"extension":"PolyKinds","introduced":"9.6.1","severity":"error","summary":"Kind arguments must occur prior to the types that they classify.","title":"Kind and type arguments out of dependency order"},"route":"messages/GHC-97739/index.html"},{"code":"GHC-98980","examples":[{"metadata":{"title":"A command in a pattern"},"name":"command-pattern","route":"messages/GHC-98980/command-pattern/index.html"}],"metadata":{"extension":"Arrows","introduced":"9.6.1","severity":"error","summary":"Arrow command syntax was used in a pattern.","title":"Command syntax in pattern"},"route":"messages/GHC-98980/index.html"},{"code":"GHC-99565","examples":[{"metadata":{"title":"Multiple default declarations in single module"},"name":"multiple-defaults","route":"messages/GHC-99565/multiple-defaults/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Multiple default declarations are not allowed","title":"Multiple default declarations"},"route":"messages/GHC-99565/index.html"},{"code":"GHC-99623","examples":[{"metadata":{"title":"Import item suggests constructors/methods"},"name":"example1","route":"messages/GHC-99623/example1/index.html"}],"metadata":{"flag":"-Wdodgy-imports","introduced":"9.6.1","severity":"warning","summary":"An import item suggests that (in-scope) constructors or class methods exist when they do not.","title":"Import item suggests constructors/methods"},"route":"messages/GHC-99623/index.html"},{"code":"GHCup-00010","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup wasn't able to find a binary distribution for the requested tool for the current platform","title":"Unable to find a download for the requested version/distro"},"route":"messages/GHCup-00010/index.html"},{"code":"GHCup-00110","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"warning","summary":"GHCup has already installed the requested version of the tool","title":"The tool is already installed with that version"},"route":"messages/GHCup-00110/index.html"},{"code":"GHCup-00160","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup was unable to decode a JSON or YAML document (e.g. metadata file)","title":"JSON decoding failed"},"route":"messages/GHCup-00160/index.html"},{"code":"GHCup-00200","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup tried to verify the integrity/authenticity of a downloaded file, but the verification failed","title":"File digest verification failed"},"route":"messages/GHCup-00200/index.html"},{"code":"GHCup-00210","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup tried to verify the authenticity of a software channel using GPG, but failed","title":"GPG verify failed"},"route":"messages/GHCup-00210/index.html"},{"code":"GHCup-00841","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup executed a subprocess that did not complete successfully","title":"A process exited prematurely"},"route":"messages/GHCup-00841/index.html"},{"code":"GHCup-05841","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup tried to download a tool, but the download failed with a subprocess exiting prematurely","title":"A download failed"},"route":"messages/GHCup-05841/index.html"},{"code":"S-4804","examples":[{"metadata":{"title":"Package version does not match Stack configuration"},"name":"does-not-match","route":"messages/S-4804/does-not-match/index.html"},{"metadata":{"title":"The package does not exist in the snapshot"},"name":"no-package","route":"messages/S-4804/no-package/index.html"}],"metadata":{"introduced":"2.9.3","severity":"error","summary":"The package with the given name or version could not be found in the snapshot","title":"Stack failed to construct a build plan"},"route":"messages/S-4804/index.html"},{"code":"S-6602","examples":[{"metadata":{"title":"Stack does not accept empty YAML files"},"name":"empty","route":"messages/S-6602/empty/index.html"},{"metadata":{"title":"Not a YAML file"},"name":"not-yaml","route":"messages/S-6602/not-yaml/index.html"}],"metadata":{"introduced":"2.9.3","severity":"error","summary":"A YAML configuration file was either not well-formed YAML or didn't contain the expected data","title":"Could not parse YAML configuration file"},"route":"messages/S-6602/index.html"}]
\ No newline at end of file
+[{"code":"Cabal-7070","examples":[],"metadata":{"introduced":"3.12.1.0","severity":"error","summary":"Cabal runs executables but not modules","title":"Run whole executable"},"route":"messages/Cabal-7070/index.html"},{"code":"GHC-00158","examples":[{"metadata":{"title":"Cannot derive instance for non-stock-deriveable class"},"name":"example1","route":"messages/GHC-00158/example1/index.html"},{"metadata":{"title":"Specifying an incorrect deriving strategy"},"name":"example2","route":"messages/GHC-00158/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An instance cannot be derived because the class is not stock deriveable.","title":"Cannot derive instance for non-stock-deriveable class"},"route":"messages/GHC-00158/index.html"},{"code":"GHC-00482","examples":[{"metadata":{"title":"Lambda syntax in `case` expression"},"name":"example1","route":"messages/GHC-00482/example1/index.html"},{"metadata":{"title":"Lambda syntax in pattern match"},"name":"example2","route":"messages/GHC-00482/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Lambda syntax appears in a pattern match.","title":"Lambda syntax in pattern"},"route":"messages/GHC-00482/index.html"},{"code":"GHC-00711","examples":[{"metadata":{"title":"Two deprecation warnings for same constant"},"name":"doubleDeprecation","route":"messages/GHC-00711/doubleDeprecation/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Duplicate deprecation warnings are illegal","title":"Duplicate warning declarations"},"route":"messages/GHC-00711/index.html"},{"code":"GHC-01239","examples":[{"metadata":{"title":"Unexpected if expression in function application"},"name":"example1","route":"messages/GHC-01239/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"If expression used as function argument","title":"Unexpected if expression in function application"},"route":"messages/GHC-01239/index.html"},{"code":"GHC-01629","examples":[{"metadata":{"title":"Too many type arguments in constructor pattern"},"name":"example1","route":"messages/GHC-01629/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Too many type applications to a constructor in a pattern.","title":"Too many type arguments in constructor pattern"},"route":"messages/GHC-01629/index.html"},{"code":"GHC-02256","examples":[{"metadata":{"title":"Ambiguous Record Update"},"name":"accounts","route":"messages/GHC-02256/accounts/index.html"}],"metadata":{"flag":"-Wambiguous-fields","introduced":"9.6.1","severity":"warning","summary":"Record update with duplicate field names is ambiguous","title":"Ambiguous record update"},"route":"messages/GHC-02256/index.html"},{"code":"GHC-03272","examples":[{"metadata":{"title":"Bidirectional formatting in a comment"},"name":"bidi-comment","route":"messages/GHC-03272/bidi-comment/index.html"}],"metadata":{"flag":"-Wunicode-bidirectional-format-characters","introduced":"9.6.1","severity":"warning","summary":"The source file contains Unicode bidirectional formatting instructions","title":"Bidirectional formatting warning"},"route":"messages/GHC-03272/index.html"},{"code":"GHC-04584","examples":[{"metadata":{"title":"Using .. in pattern"},"name":"matchingdots","route":"messages/GHC-04584/matchingdots/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"There has been an attempt to pattern match on expression syntax.","title":"Expression syntax in pattern"},"route":"messages/GHC-04584/index.html"},{"code":"GHC-04924","examples":[{"metadata":{"title":"Unknown flag in {-# OPTIONS_GHC #-} pragma"},"name":"example1","route":"messages/GHC-04924/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Unknown flag in {-# OPTIONS_GHC #-} pragma.","title":"Unknown flag in GHC options pragma"},"route":"messages/GHC-04924/index.html"},{"code":"GHC-04956","examples":[{"metadata":{"title":"Deriving instances for nullary classes"},"name":"nullary-class","route":"messages/GHC-04956/nullary-class/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"It is not possible to derive instances of argumentless type classes without the DeriveAnyClass extension.","title":"Can't derive instances of nullary classes"},"route":"messages/GHC-04956/index.html"},{"code":"GHC-05380","examples":[{"metadata":{"title":"More than 1 constructor for a newtype"},"name":"more-than-1-constructor","route":"messages/GHC-05380/more-than-1-constructor/index.html"},{"metadata":{"title":"Zero constructors for a newtype"},"name":"zero-constructors","route":"messages/GHC-05380/zero-constructors/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"More than 1 constructor for a newtype","title":"Multiple newtype constructors"},"route":"messages/GHC-05380/index.html"},{"code":"GHC-05641","examples":[{"metadata":{"title":"The Nothing constructor is documented with two separate Haddock comments"},"name":"multi-constructor-comments","route":"messages/GHC-05641/multi-constructor-comments/index.html"}],"metadata":{"flag":"-Winvalid-haddock","introduced":"9.6.1","severity":"warning","summary":"Multiple Haddock comments for a single entity are not allowed","title":"Multiple Haddock comments"},"route":"messages/GHC-05641/index.html"},{"code":"GHC-05661","examples":[{"metadata":{"title":"The module Prelude is incorrectly imported as qualified"},"name":"doubleQualified","route":"messages/GHC-05661/doubleQualified/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A module cannot be imported using the qualified modifier both before and after the name of the module","title":"Cannot use qualified both before and after the module"},"route":"messages/GHC-05661/index.html"},{"code":"GHC-05989","examples":[{"metadata":{"title":"Mismatched data declaration"},"name":"example1","route":"messages/GHC-05989/example1/index.html"}],"metadata":{"extension":"StandaloneKindSignatures","introduced":"9.6.1","severity":"error","summary":"A type constructor is declared with more arguments than its kind annotation specifies.","title":"Too many type binders"},"route":"messages/GHC-05989/index.html"},{"code":"GHC-06201","examples":[{"metadata":{"title":"No explicit implementation for method instance"},"name":"example1","route":"messages/GHC-06201/example1/index.html"},{"metadata":{"title":"No explicit implementation for method instance 2"},"name":"example2","route":"messages/GHC-06201/example2/index.html"}],"metadata":{"flag":"-Wmissing-methods","introduced":"9.6.1","severity":"warning","summary":"A required method is missing from the instance declaration.","title":"Missing method in type class instance"},"route":"messages/GHC-06201/index.html"},{"code":"GHC-06446","examples":[{"metadata":{"title":"Do notation in pattern match"},"name":"example1","route":"messages/GHC-06446/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Do notation in pattern match.","title":"Do notation in pattern match"},"route":"messages/GHC-06446/index.html"},{"code":"GHC-07626","examples":[{"metadata":{"title":"Parse error in pattern"},"name":"example","route":"messages/GHC-07626/example/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Compiler not able to parse pattern.","title":"Parse error in pattern"},"route":"messages/GHC-07626/index.html"},{"code":"GHC-09009","examples":[{"metadata":{"title":"Type roles should be one of representational, nominal, or phantom."},"name":"example1","route":"messages/GHC-09009/example1/index.html"}],"metadata":{"extension":"RoleAnnotations","introduced":"9.6.1","severity":"error","summary":"Type roles should be one of representational, nominal, or phantom.","title":"Illegal role name."},"route":"messages/GHC-09009/index.html"},{"code":"GHC-09646","examples":[{"metadata":{"title":"Using tuple section in pattern"},"name":"snd","route":"messages/GHC-09646/snd/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"There has been an attempt to pattern match on a tuple section.","title":"Tuple section in pattern"},"route":"messages/GHC-09646/index.html"},{"code":"GHC-10190","examples":[{"metadata":{"title":"An enumeration where the lower bound is greater than the upper bound"},"name":"bigger-start","route":"messages/GHC-10190/bigger-start/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"An enumeration would be empty.","title":"Empty enumeration"},"route":"messages/GHC-10190/index.html"},{"code":"GHC-10333","examples":[{"metadata":{"title":"Attempt to use newtype deriving for an ordinary datatype"},"name":"derive-newtype-data","route":"messages/GHC-10333/derive-newtype-data/index.html"}],"metadata":{"extension":"GeneralizedNewtypeDeriving, DerivingStrategies","introduced":"9.6.1","severity":"error","summary":"Generalized newtype deriving works only for types declared with the newtype keyword.","title":"Generalized newtype deriving doesn't work on non-newtypes"},"route":"messages/GHC-10333/index.html"},{"code":"GHC-11861","examples":[{"metadata":{"introduced":"9.6.1","severity":"error","summary":"Empty character is not a valid literal","title":"Empty character literals"},"name":"example1","route":"messages/GHC-11861/example1/index.html"},{"metadata":{"introduced":"9.6.1","severity":"error","title":"Incorrect TemplateHaskell syntax using ''"},"name":"example2","route":"messages/GHC-11861/example2/index.html"}],"metadata":{"extension":"TemplateHaskell","introduced":"9.6.1","severity":"error","summary":"No character literal provided within single quotes.","title":"Empty single quotes"},"route":"messages/GHC-11861/index.html"},{"code":"GHC-11913","examples":[{"metadata":{"title":"Deriving Int"},"name":"deriving-int","route":"messages/GHC-11913/deriving-int/index.html"},{"metadata":{"title":"Lowercase type class name"},"name":"lower-case","route":"messages/GHC-11913/lower-case/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Something other than a type class appears in a deriving statement.","title":"Illegal deriving item"},"route":"messages/GHC-11913/index.html"},{"code":"GHC-12003","examples":[{"metadata":{"title":"Type equality not imported from Prelude"},"name":"out-of-scope","route":"messages/GHC-12003/out-of-scope/index.html"}],"metadata":{"flag":"-Wtype-equality-out-of-scope","introduced":"9.6.1","severity":"warning","summary":"The type equality operator has not been imported into the current module.","title":"Type equality not in scope"},"route":"messages/GHC-12003/index.html"},{"code":"GHC-13218","examples":[{"metadata":{"order":0,"title":"Illegal kind signature for Void1 data type"},"name":"illegalKindSignature","route":"messages/GHC-13218/illegalKindSignature/index.html"},{"metadata":{"order":1,"title":"Illegal kind signature for Void1 data type"},"name":"illegalKindSignatureDesugared","route":"messages/GHC-13218/illegalKindSignatureDesugared/index.html"},{"metadata":{"order":2,"title":"Illegal kind signature for Void1 data type"},"name":"illegalStandaloneKindSignature","route":"messages/GHC-13218/illegalStandaloneKindSignature/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A linear function was used for a higher kind, which is not allowed","title":"Illegal linear function in kind"},"route":"messages/GHC-13218/index.html"},{"code":"GHC-19244","examples":[{"metadata":{"title":"A module was annotated as trustworthy, but inferred as safe"},"name":"trustworthy-safe","route":"messages/GHC-19244/trustworthy-safe/index.html"}],"metadata":{"flag":"-Wtrustworthy-safe","introduced":"9.6.1","severity":"warning","summary":"The module is annotated to be trustworthy, but it could be annotated as safe","title":"Module is annotated as trustworthy, but is inferred as safe"},"route":"messages/GHC-19244/index.html"},{"code":"GHC-20125","examples":[{"metadata":{"title":"Uninitialized record field"},"name":"example1","route":"messages/GHC-20125/example1/index.html"}],"metadata":{"flag":"-Wmissing-fields","introduced":"9.6.1","severity":"warning","summary":"Initialization of record with missing field(s).","title":"Missing field(s)"},"route":"messages/GHC-20125/index.html"},{"code":"GHC-20825","examples":[{"metadata":{"title":"No fields updated"},"name":"no-fields","route":"messages/GHC-20825/no-fields/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"Record update syntax requires that at least one field be specified.","title":"Empty record update"},"route":"messages/GHC-20825/index.html"},{"code":"GHC-21231","examples":[{"metadata":{"title":"Typo: lower-case class name"},"name":"escape-seq-oor","route":"messages/GHC-21231/escape-seq-oor/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The numeric escape sequence represents a number that is too large","title":"Numeric escape sequence out of range"},"route":"messages/GHC-21231/index.html"},{"code":"GHC-24180","examples":[{"metadata":{"title":"Type operator missing an argument"},"name":"missing-argument","route":"messages/GHC-24180/missing-argument/index.html"},{"metadata":{"title":"Use of ∀ without UnicodeSyntax being enabled"},"name":"no-unicode","route":"messages/GHC-24180/no-unicode/index.html"}],"metadata":{"extension":"TypeOperators","introduced":"9.6.1","severity":"warning","summary":"A type operator was not provided with both arguments.","title":"Too few arguments to infix type operator"},"route":"messages/GHC-24180/index.html"},{"code":"GHC-25078","examples":[{"metadata":{"title":"Invalid operator precedence"},"name":"example1","route":"messages/GHC-25078/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An invalid operator precedence was provided.","title":"Precedence out of range"},"route":"messages/GHC-25078/index.html"},{"code":"GHC-25897","examples":[{"metadata":{"title":"A pattern match, without known return type, on a GADT"},"name":"example1","route":"messages/GHC-25897/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A pattern match on a GADT cannot succeed unless GHC knows the result type of the pattern match.","title":"GADT pattern match must have a known result type"},"route":"messages/GHC-25897/index.html"},{"code":"GHC-27207","examples":[{"metadata":{"title":"Missing space after tilde `~`"},"name":"example1","route":"messages/GHC-27207/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Lazy pattern in expression context.","title":"Missing space after tilde `~`"},"route":"messages/GHC-27207/index.html"},{"code":"GHC-28007","examples":[{"metadata":{"title":"Misplaced language pragma"},"name":"example1","route":"messages/GHC-28007/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"LANGUAGE pragmas should come before the module declaration.","title":"Misplaced LANGUAGE pragma"},"route":"messages/GHC-28007/index.html"},{"code":"GHC-30606","examples":[{"metadata":{"title":"Redundant equality constraints"},"name":"example-equality","route":"messages/GHC-30606/example-equality/index.html"},{"metadata":{"title":"Redundant typeclass constraints"},"name":"example-typeclasses","route":"messages/GHC-30606/example-typeclasses/index.html"}],"metadata":{"flag":"-Wredundant-constraints","introduced":"9.6.1","severity":"warning","summary":"A binding has constraints that are redundant.","title":"Redundant constraints"},"route":"messages/GHC-30606/index.html"},{"code":"GHC-31574","examples":[{"metadata":{"title":"Linear identity function needs LinearTypes extension"},"name":"linearIdentity","route":"messages/GHC-31574/linearIdentity/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The linear function type is used, but LinearTypes are not enabled","title":"Illegal use of linear functions"},"route":"messages/GHC-31574/index.html"},{"code":"GHC-38520","examples":[{"metadata":{"title":"Already deconstructed"},"name":"alreadyDeconstructed","route":"messages/GHC-38520/alreadyDeconstructed/index.html"},{"metadata":{"title":"Strict fields"},"name":"strictField","route":"messages/GHC-38520/strictField/index.html"},{"metadata":{"title":"Unlifted and unboxed types"},"name":"unliftedTypes","route":"messages/GHC-38520/unliftedTypes/index.html"}],"metadata":{"flag":"-Wredundant-bang-patterns","introduced":"9.6.1","severity":"warning","summary":"Used a bang pattern that has no effect","title":"Redundant Bang Patterns"},"route":"messages/GHC-38520/index.html"},{"code":"GHC-39999","examples":[{"metadata":{"order":0,"title":"A usage of (==) on a data type which doesn‘t have an instance for Eq."},"name":"no-instance","route":"messages/GHC-39999/no-instance/index.html"},{"metadata":{"order":1,"title":"A usage of `+` on a too polymorphic variable."},"name":"too-polymorphic","route":"messages/GHC-39999/too-polymorphic/index.html"},{"metadata":{"order":2,"title":"A usage of `x.foo` with the field `foo` not being in scope"},"name":"overloaded-record-dot-selector-not-in-scope","route":"messages/GHC-39999/overloaded-record-dot-selector-not-in-scope/index.html"},{"metadata":{"order":3,"title":"Missing superclass declaration"},"name":"superclass","route":"messages/GHC-39999/superclass/index.html"},{"metadata":{"order":4,"title":"Adding numbers to strings"},"name":"adding-number-to-string","route":"messages/GHC-39999/adding-number-to-string/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An expression requires a type class instance which is not provided by the context.","title":"No instance arising"},"route":"messages/GHC-39999/index.html"},{"code":"GHC-40798","examples":[{"metadata":{"flag":"-Wall, -Wcompat, or -Woperator-whitespace","introduced":"9.6.1","severity":"warning","summary":"A warning for detecting usage of infix, suffix or prefix operators that could be parsed differently in the future due to whitespace.","title":"operator-whitespace"},"name":"example1","route":"messages/GHC-40798/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"An optional warning for detecting usage of infix, suffix or prefix operators that could be parsed differently in future due to whitespace.","title":"Operator whitespace"},"route":"messages/GHC-40798/index.html"},{"code":"GHC-42044","examples":[{"metadata":{"title":"Misspelled pragmas"},"name":"example1","route":"messages/GHC-42044/example1/index.html"}],"metadata":{"flag":"-Wunrecognised-pragmas","introduced":"9.6.1","severity":"warning","summary":"GHC didn't recognize pragma and will thus ignore it","title":"Unrecognised pragma"},"route":"messages/GHC-42044/index.html"},{"code":"GHC-44360","examples":[{"metadata":{"title":"Safe module tries to import Unsafe.Coerce"},"name":"unsafe-import","route":"messages/GHC-44360/unsafe-import/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Only safe modules can be imported in modules which are declared safe","title":"Cannot import unsafe modules in Safe Haskell"},"route":"messages/GHC-44360/index.html"},{"code":"GHC-44432","examples":[{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"let-binding","route":"messages/GHC-44432/let-binding/index.html"},{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"toplevel","route":"messages/GHC-44432/toplevel/index.html"},{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"typo","route":"messages/GHC-44432/typo/index.html"},{"metadata":{"title":"Type signature lacks an accompanying binding"},"name":"where-clause","route":"messages/GHC-44432/where-clause/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A type signature was provided, but no binding was given.","title":"Type signature lacks an accompanying binding"},"route":"messages/GHC-44432/index.html"},{"code":"GHC-45696","examples":[{"metadata":{"title":"If-Then-Else in pattern match"},"name":"example1","route":"messages/GHC-45696/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"If-Then-Else expression in pattern match.","title":"If-Then-Else in pattern match"},"route":"messages/GHC-45696/index.html"},{"code":"GHC-46537","examples":[{"metadata":{"title":"Unsupported extension"},"name":"example1","route":"messages/GHC-46537/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"GHC failed to recognize name of a language extension","title":"Unsupported extension"},"route":"messages/GHC-46537/index.html"},{"code":"GHC-46956","examples":[{"metadata":{"title":"An escaping kind variable"},"name":"example1","route":"messages/GHC-46956/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A local kind variable was used to classify a type from a scope in which the kind variable is not available.","title":"Kind variable would escape its scope"},"route":"messages/GHC-46956/index.html"},{"code":"GHC-47535","examples":[{"metadata":{"title":"Identifier is a top-level binding, not a record selector"},"name":"example1","route":"messages/GHC-47535/example1/index.html"},{"metadata":{"title":"Identifier is a class method, not a record selector"},"name":"example2","route":"messages/GHC-47535/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An identifier does not refer to a record selector but is used as such.","title":"Identifier is not a record selector"},"route":"messages/GHC-47535/index.html"},{"code":"GHC-47854","examples":[{"metadata":{"title":"Duplicate export"},"name":"example1","route":"messages/GHC-47854/example1/index.html"},{"metadata":{"title":"Duplicate field export"},"name":"example2","route":"messages/GHC-47854/example2/index.html"}],"metadata":{"flag":"-Wduplicate-exports","introduced":"9.6.1","severity":"warning","summary":"An identifier appears twice in an export list.","title":"Duplicate Exports"},"route":"messages/GHC-47854/index.html"},{"code":"GHC-48099","examples":[{"metadata":{"title":"Top-level strict bindings"},"name":"strict","route":"messages/GHC-48099/strict/index.html"},{"metadata":{"title":"Unlifted top-level binding"},"name":"unlifted","route":"messages/GHC-48099/unlifted/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Top-level bindings may not be strict, and they may not have unlifted types.","title":"Top-level strict or unlifted binds not allowed"},"route":"messages/GHC-48099/index.html"},{"code":"GHC-48361","examples":[{"metadata":{"title":"Binding type variables is not allowed in pattern bindings"},"name":"example1","route":"messages/GHC-48361/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"You can only bind value-level variables in a pattern, not type variables.","title":"Binding type variables is not allowed in pattern bindings"},"route":"messages/GHC-48361/index.html"},{"code":"GHC-49957","examples":[{"metadata":{"title":"Unticked promoted constructor"},"name":"unticked","route":"messages/GHC-49957/unticked/index.html"}],"metadata":{"extension":"DataKinds","flag":"-Wunticked-promoted-constructors","introduced":"9.6.1","severity":"warning","summary":"A promoted data constructor was used as a type without it being indicated with a tick mark.","title":"Unticked promoted constructors"},"route":"messages/GHC-49957/index.html"},{"code":"GHC-51179","examples":[{"metadata":{"title":"Missing LambdaCase language extension"},"name":"example1","route":"messages/GHC-51179/example1/index.html"}],"metadata":{"extension":"LambdaCase","introduced":"9.6.1","severity":"error","summary":"Missing LambdaCase language extension","title":"Missing LambdaCase"},"route":"messages/GHC-51179/index.html"},{"code":"GHC-53633","examples":[{"metadata":{"title":"Redundant catchall pattern"},"name":"overlapping-catchall","route":"messages/GHC-53633/overlapping-catchall/index.html"},{"metadata":{"title":"Redundant constructor pattern"},"name":"overlapping-patterns","route":"messages/GHC-53633/overlapping-patterns/index.html"}],"metadata":{"flag":"-Woverlapping-patterns","introduced":"9.6.1","severity":"warning","summary":"A pattern is impossible to reach due to earlier patterns","title":"Redundant patterns"},"route":"messages/GHC-53633/index.html"},{"code":"GHC-53786","examples":[{"metadata":{"title":"Case expression in case pattern"},"name":"case-expr-in-case-pattern","route":"messages/GHC-53786/case-expr-in-case-pattern/index.html"},{"metadata":{"title":"Case expression in do-block"},"name":"case-expr-in-do-block","route":"messages/GHC-53786/case-expr-in-do-block/index.html"},{"metadata":{"title":"Case expression in function argument pattern"},"name":"case-expr-in-fun-def","route":"messages/GHC-53786/case-expr-in-fun-def/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A pattern contains case-of syntax.","title":"Case expression included in pattern"},"route":"messages/GHC-53786/index.html"},{"code":"GHC-54540","examples":[{"metadata":{"title":"Cannot derive an instance for an abstract type"},"name":"constructorsNotInScope","route":"messages/GHC-54540/constructorsNotInScope/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"It is not possible to derive a typeclass instance if the constructors of the type are not in scope","title":"Cannot derive instance without constructors in scope"},"route":"messages/GHC-54540/index.html"},{"code":"GHC-55666","examples":[{"metadata":{"title":"Bang (!) on unlifted type"},"name":"example","route":"messages/GHC-55666/example/index.html"}],"metadata":{"flag":"-Wredundant-strictness-flags","introduced":"9.6.1","severity":"warning","summary":"Using a strictness annotation (bang) on an unlifted type is redudant as unlifted values are strict by definition","title":"Strictness annotation on unlifted type"},"route":"messages/GHC-55666/index.html"},{"code":"GHC-56147","examples":[{"metadata":{"title":"Cannot add a rewrite rule for the identity function"},"name":"ignored-rule","route":"messages/GHC-56147/ignored-rule/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"Rewrite rules are not allowed in Safe Haskell and are therefore ignored","title":"Rewrite rules are ignored in Safe Haskell"},"route":"messages/GHC-56147/index.html"},{"code":"GHC-56538","examples":[{"metadata":{"title":"Typo: lower-case class name"},"name":"int-instance","route":"messages/GHC-56538/int-instance/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A type class instance declaration is declared for something that is not a type class.","title":"Instance head is not headed by a class"},"route":"messages/GHC-56538/index.html"},{"code":"GHC-57396","examples":[{"metadata":{"title":"Linear function type was used in foreign function call"},"name":"linear-ffi","route":"messages/GHC-57396/linear-ffi/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Linear types are not supported when using GHC's FFI functionality","title":"Linear types are not supported in FFI"},"route":"messages/GHC-57396/index.html"},{"code":"GHC-58008","examples":[{"metadata":{"title":"Pattern matching on GADTs without MonoLocalBinds"},"name":"gadt-without-monobind","route":"messages/GHC-58008/gadt-without-monobind/index.html"}],"metadata":{"flag":"-Wgadt-mono-local-binds","introduced":"9.6.1","severity":"warning","summary":"Pattern matching on GADTs without MonoLocalBinds is fragile","title":"Pattern matching on GADTs without MonoLocalBinds is fragile"},"route":"messages/GHC-58008/index.html"},{"code":"GHC-58481","examples":[{"metadata":{"title":"Parse error expression"},"name":"example1","route":"messages/GHC-58481/example1/index.html"},{"metadata":{"title":"Parse error in OPAQUE pragma"},"name":"example2","route":"messages/GHC-58481/example2/index.html"},{"metadata":{"title":"Incorrect syntax of ($) operator usage"},"name":"example3","route":"messages/GHC-58481/example3/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Generic parsing error.","title":"Parse error on input"},"route":"messages/GHC-58481/index.html"},{"code":"GHC-58656","examples":[{"metadata":{"title":"A module is inferred as safe but not annotated as safe"},"name":"inferred-safe","route":"messages/GHC-58656/inferred-safe/index.html"}],"metadata":{"flag":"-Wsafe","introduced":"9.6.1","severity":"warning","summary":"If a module is inferred as safe, then it should be annotated as safe","title":"Module is inferred to be safe"},"route":"messages/GHC-58656/index.html"},{"code":"GHC-59840","examples":[{"metadata":{"title":"Computing a multiplicity with a type family and GADT is not supported"},"name":"linearPolyType","route":"messages/GHC-59840/linearPolyType/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"GHC does not support GADTs or type families which witness equality of multiplicities","title":"GHC does not support GADTs or type families which witness equality of multiplicities"},"route":"messages/GHC-59840/index.html"},{"code":"GHC-61689","examples":[{"metadata":{"title":"Importing an unexported symbol."},"name":"example1","route":"messages/GHC-61689/example1/index.html"},{"metadata":{"title":"Importing a field selector that has been disabled with NoFieldSelectors."},"name":"example2","route":"messages/GHC-61689/example2/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"Module does not export the imported symbol.","title":"Bad import not exported"},"route":"messages/GHC-61689/index.html"},{"code":"GHC-62016","examples":[{"metadata":{"title":"Deriving Functor for a type with an argument of non-Type kind"},"name":"deriving-f-int","route":"messages/GHC-62016/deriving-f-int/index.html"},{"metadata":{"title":"Deriving Functor for a ground type"},"name":"deriving-pet","route":"messages/GHC-62016/deriving-pet/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An instance cannot be derived because the kinds cannot be made to match.","title":"Cannot derive well-kinded instance"},"route":"messages/GHC-62016/index.html"},{"code":"GHC-62161","examples":[{"metadata":{"title":"Sum of a list"},"name":"example1","route":"messages/GHC-62161/example1/index.html"},{"metadata":{"title":"Safe head of a list"},"name":"example2","route":"messages/GHC-62161/example2/index.html"}],"metadata":{"flag":"-Wincomplete-patterns","introduced":"9.6.1","severity":"warning","summary":"Pattern match(es) are non-exhaustive.","title":"Incomplete patterns"},"route":"messages/GHC-62161/index.html"},{"code":"GHC-62330","examples":[{"metadata":{"title":"Underscore not allowed in float literal"},"name":"example1","route":"messages/GHC-62330/example1/index.html"},{"metadata":{"title":"Underscore not allowed in integer literal"},"name":"example2","route":"messages/GHC-62330/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Float and integer literals cannot contain underscores.","title":"Underscores not allowed in float and integer literals"},"route":"messages/GHC-62330/index.html"},{"code":"GHC-63394","examples":[{"metadata":{"title":"`head` is a partial function"},"name":"example1","route":"messages/GHC-63394/example1/index.html"},{"metadata":{"title":"`tail` is a partial function"},"name":"example2","route":"messages/GHC-63394/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"warning","summary":"Warning or deprecation message attached to a function, class, type, or module in a library","title":"Messages from WARNING and DEPRECATED pragmas"},"route":"messages/GHC-63394/index.html"},{"code":"GHC-64088","examples":[{"metadata":{"title":"The identifier \"forall\" should not be used"},"name":"forall-identifier","route":"messages/GHC-64088/forall-identifier/index.html"}],"metadata":{"flag":"-Wforall-identifier","introduced":"9.6.1","severity":"warning","summary":"Use of \"forall\" as an identifier is discouraged","title":"Use of \"forall\" as an identifier"},"route":"messages/GHC-64088/index.html"},{"code":"GHC-64725","examples":[{"metadata":{"title":"Cannot Display functions"},"name":"display","route":"messages/GHC-64725/display/index.html"},{"metadata":{"title":"Cannot encode arbitrary precision integers"},"name":"encode","route":"messages/GHC-64725/encode/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An invalid constraint or type family reduces to a custom type error.","title":"User-defined type error"},"route":"messages/GHC-64725/index.html"},{"code":"GHC-66228","examples":[{"metadata":{"title":"Missing lambda"},"name":"not-lambda","route":"messages/GHC-66228/not-lambda/index.html"},{"metadata":{"title":"View pattern in expression"},"name":"view-pattern-expr","route":"messages/GHC-66228/view-pattern-expr/index.html"}],"metadata":{"extension":"ViewPatterns","introduced":"9.6.1","summary":"A view pattern was used in an expression, rather than a pattern.","title":"View pattern in expression context"},"route":"messages/GHC-66228/index.html"},{"code":"GHC-68686","examples":[{"metadata":{"title":"Invalid LANGUAGE pragma"},"name":"example1","route":"messages/GHC-68686/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The arguments to the LANGUAGE pragma could not be parsed","title":"Cannot parse LANGUAGE pragma"},"route":"messages/GHC-68686/index.html"},{"code":"GHC-69158","examples":[{"metadata":{"title":"Name clash due to mix of qualified and unqualified re-export"},"name":"example","route":"messages/GHC-69158/example/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Different identifiers with the same name are (re-)exported from the same module.","title":"Conflicting exports"},"route":"messages/GHC-69158/index.html"},{"code":"GHC-69925","examples":[{"metadata":{"title":"Illegal unboxed string literal in pattern"},"name":"example1","route":"messages/GHC-69925/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Illegal unboxed string literal in pattern.","title":"Illegal unboxed string literal in pattern"},"route":"messages/GHC-69925/index.html"},{"code":"GHC-70712","examples":[{"metadata":{"title":"Double dots in record update"},"name":"double-dot","route":"messages/GHC-70712/double-dot/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Double-dot syntax is not allowed in a record update.","title":"Double dots in record update"},"route":"messages/GHC-70712/index.html"},{"code":"GHC-71614","examples":[{"metadata":{"title":"Empty parameter list in lambda"},"name":"example1","route":"messages/GHC-71614/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"A lambda expression must have at least one parameter.","title":"Lambda requires at least one parameter"},"route":"messages/GHC-71614/index.html"},{"code":"GHC-75356","examples":[{"metadata":{"title":"Export item suggests constructors/methods"},"name":"example1","route":"messages/GHC-75356/example1/index.html"}],"metadata":{"flag":"-Wdodgy-imports","introduced":"9.6.1","severity":"warning","summary":"An export item suggests that (in-scope) constructors or class methods exist when they do not.","title":"Export item suggests constructors/methods"},"route":"messages/GHC-75356/index.html"},{"code":"GHC-76037","examples":[{"metadata":{"title":"Unbound data constructor in lambda"},"name":"example1","route":"messages/GHC-76037/example1/index.html"},{"metadata":{"title":"Unbound class name"},"name":"example2","route":"messages/GHC-76037/example2/index.html"},{"metadata":{"title":"Data constructor not imported"},"name":"example3","route":"messages/GHC-76037/example3/index.html"},{"metadata":{"title":"Field selector exported with NoFieldSelectors"},"name":"example4","route":"messages/GHC-76037/example4/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An identifier is not in scope.","title":"Not in scope"},"route":"messages/GHC-76037/index.html"},{"code":"GHC-77037","examples":[{"metadata":{"title":"Importing Data.Maybe (Maybe(..))"},"name":"example1","route":"messages/GHC-77037/example1/index.html"}],"metadata":{"flag":"-Wmissing-import-lists","introduced":"9.6.1","severity":"warning","summary":"Items brought into scope are not listed explicitly.","title":"No explicit import list"},"route":"messages/GHC-77037/index.html"},{"code":"GHC-77539","examples":[{"metadata":{"title":"Use of a tuple constraint"},"name":"tuple-constraint","route":"messages/GHC-77539/tuple-constraint/index.html"}],"metadata":{"extension":"ConstraintKinds","introduced":"9.6.1","severity":"error","summary":"A tuple of constraints was used without enabling the ConstraintKinds extension","title":"Illegal tuple constraint"},"route":"messages/GHC-77539/index.html"},{"code":"GHC-78892","examples":[{"metadata":{"title":"Using let ... in ... syntax in pattern."},"name":"example","route":"messages/GHC-78892/example/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An attempt has been made to use a let expression whilst pattern matching.","title":"let-syntax in pattern"},"route":"messages/GHC-78892/index.html"},{"code":"GHC-80768","examples":[{"metadata":{"title":"Kind signatures on classes must end with Constraint unobscured by type families"},"name":"example1","route":"messages/GHC-80768/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"It is an error to use type families in the return kind of a class","title":"Class kind signatures need to be constraints"},"route":"messages/GHC-80768/index.html"},{"code":"GHC-83865","examples":[{"metadata":{"order":0,"title":"Values of Different Types"},"name":"terms","route":"messages/GHC-83865/terms/index.html"},{"metadata":{"order":1,"title":"Type expected, but kind received."},"name":"type-kind-mism","route":"messages/GHC-83865/type-kind-mism/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"You provided a value of a given type, whereas GHC expected a different type.","title":"Type Mismatch"},"route":"messages/GHC-83865/index.html"},{"code":"GHC-84077","examples":[{"metadata":{"title":"Missing space before type application"},"name":"example1","route":"messages/GHC-84077/example1/index.html"},{"metadata":{"title":"Missing space in type application"},"name":"example2","route":"messages/GHC-84077/example2/index.html"}],"metadata":{"extension":"TypeApplications","introduced":"9.6.1","severity":"error","summary":"A type application with @ does not have a space before.","title":"Type application without space"},"route":"messages/GHC-84077/index.html"},{"code":"GHC-87139","examples":[{"metadata":{"title":"Illegal deriving strategy on newtype"},"name":"illegalDerivingStrategy","route":"messages/GHC-87139/illegalDerivingStrategy/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"Use of a deriving strategy without enabling the corresponding language extension","title":"Illegal deriving strategy"},"route":"messages/GHC-87139/index.html"},{"code":"GHC-87429","examples":[{"metadata":{"title":"Illegal datatype context, fixed with use-site constraints"},"name":"example1","route":"messages/GHC-87429/example1/index.html"},{"metadata":{"title":"Illegal datatype context, fixed with GADTs"},"name":"example2","route":"messages/GHC-87429/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Constraints present in datatype declaration without DatatypeContexts.","title":"Illegal datatype context"},"route":"messages/GHC-87429/index.html"},{"code":"GHC-87491","examples":[{"metadata":{"title":"Found 'qualified' after the module"},"name":"example1","route":"messages/GHC-87491/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"qualified after the module requires the ImportQualifiedPost extension.","title":"Found 'qualified' after the module"},"route":"messages/GHC-87491/index.html"},{"code":"GHC-88464","examples":[{"metadata":{"title":"Attempted to refer to another function's argument"},"name":"example1","route":"messages/GHC-88464/example1/index.html"},{"metadata":{"title":"Forgetting an import declaration"},"name":"example2","route":"messages/GHC-88464/example2/index.html"},{"metadata":{"title":"Attempted to use a field selector disabled with NoFieldSelectors"},"name":"example3","route":"messages/GHC-88464/example3/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"An unknown variable name was referenced.","title":"Variable not in scope"},"route":"messages/GHC-88464/index.html"},{"code":"GHC-88747","examples":[{"metadata":{"title":"Unary minus mixed with multiplication"},"name":"unary-minus","route":"messages/GHC-88747/unary-minus/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Cannot determine the order of operators in an expression","title":"Precedence parsing error"},"route":"messages/GHC-88747/index.html"},{"code":"GHC-88933","examples":[{"metadata":{"order":1,"title":"A default declaration was provided for Bool"},"name":"bool-default-declaration","route":"messages/GHC-88933/bool-default-declaration/index.html"},{"metadata":{"order":2,"title":"A default declaration was provided for String"},"name":"string-default-declaration","route":"messages/GHC-88933/string-default-declaration/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Default declarations may only mention types which implement the Num type class","title":"Non-numeric type in default declaration"},"route":"messages/GHC-88933/index.html"},{"code":"GHC-90177","examples":[{"metadata":{"title":"Orphan instance in a separate module from definitions"},"name":"example1","route":"messages/GHC-90177/example1/index.html"}],"metadata":{"flag":"-Worphans","introduced":"9.6.1","severity":"warning","summary":"An instance was defined separately from its type or class.","title":"Orphan instance"},"route":"messages/GHC-90177/index.html"},{"code":"GHC-90584","examples":[{"metadata":{"title":"Deriving ‘Typeable’ has no effect"},"name":"example1","route":"messages/GHC-90584/example1/index.html"}],"metadata":{"flag":"-Wderiving-typeable","introduced":"9.6.1","severity":"warning","summary":"The type class `Typeable` does not need to be derived.","title":"Deriving `Typeable` has no effect"},"route":"messages/GHC-90584/index.html"},{"code":"GHC-91028","examples":[{"metadata":{"title":"Enabling Impredicativity"},"name":"impred","route":"messages/GHC-91028/impred/index.html"},{"metadata":{"title":"Impredicative Kind Polymorphism"},"name":"predkinds","route":"messages/GHC-91028/predkinds/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"During type inference, GHC can't instantiate a type variable with a type that is itself polymorphic.","title":"Cannot equate polymorphic types with type variables"},"route":"messages/GHC-91028/index.html"},{"code":"GHC-91938","examples":[{"metadata":{"title":"Varying numbers of arguments"},"name":"example1","route":"messages/GHC-91938/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Each equation in a function definition must have the same number of arguments.","title":"Equations have different number of arguments"},"route":"messages/GHC-91938/index.html"},{"code":"GHC-92994","examples":[{"metadata":{"title":"Nested forall in a foreign function type"},"name":"nested-forall","route":"messages/GHC-92994/nested-forall/index.html"}],"metadata":{"extension":"CApiFFI, RankNTypes","introduced":"9.6.1","severity":"error","summary":"A foreign function import uses a higher-rank type.","title":"Unexpected nested forall in foreign declaration"},"route":"messages/GHC-92994/index.html"},{"code":"GHC-93557","examples":[{"metadata":{"title":"Cannot implement a typeclass for type synonyms by default"},"name":"illegalSynonymInstance","route":"messages/GHC-93557/illegalSynonymInstance/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"Illegal typeclass instance","title":"Illegal typeclass instance"},"route":"messages/GHC-93557/index.html"},{"code":"GHC-94458","examples":[{"metadata":{"title":"Illegal Haddock comments for definitions in where clause"},"name":"illegalHaddockComment","route":"messages/GHC-94458/illegalHaddockComment/index.html"}],"metadata":{"flag":"-Winvalid-haddock","introduced":"9.6.1","severity":"warning","summary":"A Haddock comment appears in an illegal position","title":"Illegal position of Haddock comment"},"route":"messages/GHC-94458/index.html"},{"code":"GHC-94817","examples":[{"metadata":{"title":"A file that uses a tab for indentation"},"name":"tab","route":"messages/GHC-94817/tab/index.html"}],"metadata":{"flag":"-Wtabs","introduced":"9.6.1","severity":"warning","summary":"A tab character occurred in the input file.","title":"Tab character"},"route":"messages/GHC-94817/index.html"},{"code":"GHC-95644","examples":[{"metadata":{"title":"Missing space after exclamation `!`"},"name":"example1","route":"messages/GHC-95644/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Bang pattern in expression context.","title":"Missing space after exclamation mark `!`"},"route":"messages/GHC-95644/index.html"},{"code":"GHC-95781","examples":[{"metadata":{"title":"Type application with type variable marked as inferred"},"name":"inferred-type-var-application","route":"messages/GHC-95781/inferred-type-var-application/index.html"},{"metadata":{"title":"Type application with no type variable"},"name":"type-app-no-type-var","route":"messages/GHC-95781/type-app-no-type-var/index.html"},{"metadata":{"title":"Type application with non-annotated expression"},"name":"type-for-term-arg","route":"messages/GHC-95781/type-for-term-arg/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"The expression cannot be applied to the given type argument.","title":"Invalid type application"},"route":"messages/GHC-95781/index.html"},{"code":"GHC-95909","examples":[{"metadata":{"title":"Missing strict field in record syntax"},"name":"example1","route":"messages/GHC-95909/example1/index.html"},{"metadata":{"title":"All fields are strict if the StrictData language extension is enabled"},"name":"example2","route":"messages/GHC-95909/example2/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Constructor was not instantiated with required strict field(s).","title":"Missing strict fields"},"route":"messages/GHC-95909/index.html"},{"code":"GHC-97044","examples":[{"metadata":{"title":"Attempts to create hand-written instances for special type classes"},"name":"example1","route":"messages/GHC-97044/example1/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Type class does not allow user-specified instances","title":"User-specified instance is not allowed"},"route":"messages/GHC-97044/index.html"},{"code":"GHC-97170","examples":[{"metadata":{"title":"Double role annotation on datatype"},"name":"doubleRoleAnnotationOnData","route":"messages/GHC-97170/doubleRoleAnnotationOnData/index.html"}],"metadata":{"introduced":"9.8.1","severity":"error","summary":"A type declaration has more than one accompanying role annotation","title":"Duplicate role annotations"},"route":"messages/GHC-97170/index.html"},{"code":"GHC-97441","examples":[{"metadata":{"title":"Overflowed Literals"},"name":"example1","route":"messages/GHC-97441/example1/index.html"}],"metadata":{"flag":"-Woverflowed-literals","introduced":"9.6.1","severity":"warning","summary":"Literal overflowing range of supported values","title":"Overflowed Literals"},"route":"messages/GHC-97441/index.html"},{"code":"GHC-97739","examples":[{"metadata":{"title":"Kind and type variables out of dependency order"},"name":"example","route":"messages/GHC-97739/example/index.html"}],"metadata":{"extension":"PolyKinds","introduced":"9.6.1","severity":"error","summary":"Kind arguments must occur prior to the types that they classify.","title":"Kind and type arguments out of dependency order"},"route":"messages/GHC-97739/index.html"},{"code":"GHC-98980","examples":[{"metadata":{"title":"A command in a pattern"},"name":"command-pattern","route":"messages/GHC-98980/command-pattern/index.html"}],"metadata":{"extension":"Arrows","introduced":"9.6.1","severity":"error","summary":"Arrow command syntax was used in a pattern.","title":"Command syntax in pattern"},"route":"messages/GHC-98980/index.html"},{"code":"GHC-99565","examples":[{"metadata":{"title":"Multiple default declarations in single module"},"name":"multiple-defaults","route":"messages/GHC-99565/multiple-defaults/index.html"}],"metadata":{"introduced":"9.6.1","severity":"error","summary":"Multiple default declarations are not allowed","title":"Multiple default declarations"},"route":"messages/GHC-99565/index.html"},{"code":"GHC-99623","examples":[{"metadata":{"title":"Import item suggests constructors/methods"},"name":"example1","route":"messages/GHC-99623/example1/index.html"}],"metadata":{"flag":"-Wdodgy-imports","introduced":"9.6.1","severity":"warning","summary":"An import item suggests that (in-scope) constructors or class methods exist when they do not.","title":"Import item suggests constructors/methods"},"route":"messages/GHC-99623/index.html"},{"code":"GHCup-00010","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup wasn't able to find a binary distribution for the requested tool for the current platform","title":"Unable to find a download for the requested version/distro"},"route":"messages/GHCup-00010/index.html"},{"code":"GHCup-00110","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"warning","summary":"GHCup has already installed the requested version of the tool","title":"The tool is already installed with that version"},"route":"messages/GHCup-00110/index.html"},{"code":"GHCup-00160","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup was unable to decode a JSON or YAML document (e.g. metadata file)","title":"JSON decoding failed"},"route":"messages/GHCup-00160/index.html"},{"code":"GHCup-00200","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup tried to verify the integrity/authenticity of a downloaded file, but the verification failed","title":"File digest verification failed"},"route":"messages/GHCup-00200/index.html"},{"code":"GHCup-00210","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup tried to verify the authenticity of a software channel using GPG, but failed","title":"GPG verify failed"},"route":"messages/GHCup-00210/index.html"},{"code":"GHCup-00841","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup executed a subprocess that did not complete successfully","title":"A process exited prematurely"},"route":"messages/GHCup-00841/index.html"},{"code":"GHCup-05841","examples":[],"metadata":{"introduced":"0.1.19.0","severity":"error","summary":"GHCup tried to download a tool, but the download failed with a subprocess exiting prematurely","title":"A download failed"},"route":"messages/GHCup-05841/index.html"},{"code":"S-4804","examples":[{"metadata":{"title":"Package version does not match Stack configuration"},"name":"does-not-match","route":"messages/S-4804/does-not-match/index.html"},{"metadata":{"title":"The package does not exist in the snapshot"},"name":"no-package","route":"messages/S-4804/no-package/index.html"}],"metadata":{"introduced":"2.9.3","severity":"error","summary":"The package with the given name or version could not be found in the snapshot","title":"Stack failed to construct a build plan"},"route":"messages/S-4804/index.html"},{"code":"S-6602","examples":[{"metadata":{"title":"Stack does not accept empty YAML files"},"name":"empty","route":"messages/S-6602/empty/index.html"},{"metadata":{"title":"Not a YAML file"},"name":"not-yaml","route":"messages/S-6602/not-yaml/index.html"}],"metadata":{"introduced":"2.9.3","severity":"error","summary":"A YAML configuration file was either not well-formed YAML or didn't contain the expected data","title":"Could not parse YAML configuration file"},"route":"messages/S-6602/index.html"}]
\ No newline at end of file
diff --git a/index.html b/index.html
index 8de876f6..3b7f7996 100644
--- a/index.html
+++ b/index.html
@@ -36,7 +36,7 @@
Welcome
- So far, 116 errors and warnings are documented here.
+ So far, 117 errors and warnings are documented here.
If you encounter a message that is not yet documented, please
open an issue or
submit a pull request with documentation.
@@ -317,6 +317,13 @@
diff --git a/messages/GHC-38520/alreadyDeconstructed/after/AlreadyDeconstructed.hs b/messages/GHC-38520/alreadyDeconstructed/after/AlreadyDeconstructed.hs
new file mode 100644
index 00000000..7d05b9a8
--- /dev/null
+++ b/messages/GHC-38520/alreadyDeconstructed/after/AlreadyDeconstructed.hs
@@ -0,0 +1,5 @@
+module AlreadyDeconstructed where
+
+doubleIfTrue :: (Int, Bool) -> Int
+doubleIfTrue (x, y) | y = x * 2
+doubleIfTrue x = fst x
diff --git a/messages/GHC-38520/alreadyDeconstructed/before/AlreadyDeconstructed.hs b/messages/GHC-38520/alreadyDeconstructed/before/AlreadyDeconstructed.hs
new file mode 100644
index 00000000..f9c65041
--- /dev/null
+++ b/messages/GHC-38520/alreadyDeconstructed/before/AlreadyDeconstructed.hs
@@ -0,0 +1,5 @@
+module AlreadyDeconstructed where
+
+doubleIfTrue :: (Int, Bool) -> Int
+doubleIfTrue (x, y) | y = x * 2
+doubleIfTrue !x = fst x
diff --git a/messages/GHC-38520/alreadyDeconstructed/index.html b/messages/GHC-38520/alreadyDeconstructed/index.html
new file mode 100644
index 00000000..9d6af8e0
--- /dev/null
+++ b/messages/GHC-38520/alreadyDeconstructed/index.html
@@ -0,0 +1,40 @@
+
Warning message
+
AlreadyDeconstructed.hs:5:15: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘doubleIfTrue’: doubleIfTrue x = ...
+ |
+5 | doubleIfTrue !x = fst x
+ | ^
+
Explanation
+
It is possible that a previous clause already forced the evaluation of an expression.
+For example, doubleIfTrue’s first clause already deconstructs the pair tuple, so
+a bang pattern on the tuple as a whole has no effect in the second clause.
+
+
AlreadyDeconstructed.hs
+
+
+
+
Before
+
+
module AlreadyDeconstructed where
+
+doubleIfTrue :: (Int, Bool) -> Int
+doubleIfTrue (x, y) | y = x * 2
+doubleIfTrue !x = fst x
+
+
+
+
+
+
After
+
+
module AlreadyDeconstructed where
+
+doubleIfTrue :: (Int, Bool) -> Int
+doubleIfTrue (x, y) | y = x * 2
+doubleIfTrue x = fst x
+
The BangPatterns extension allows the user to mark parts of a pattern as strict by prefixing the pattern with an exclamation mark.
+By default, Haskell only evaluates an expression as little as it needs to determine whether the pattern matches or not.
+Using bang patterns causes the matched expression to always be evaluated to weak head normal
+form (WHNF) before the rest of the clauses, any guard patterns, or the right-hand side
+of the clause are executed.
+
However, there are cases where a bang pattern can be redundant.
+This happens either because a previous match clause already forced the evaluation, because the user is
+trying to match on a strict field of a data type, or because the type of the value being
+matched on is of an unlifted or unboxed type like Int# or Array#.
+
In all of these cases, the Bang Pattern has no added effect, so it is redundant.
+
+
+
+
Examples
+
+
+ Already deconstructed
+
+
Warning message
+
AlreadyDeconstructed.hs:5:15: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘doubleIfTrue’: doubleIfTrue x = ...
+ |
+5 | doubleIfTrue !x = fst x
+ | ^
+
Explanation
+
It is possible that a previous clause already forced the evaluation of an expression.
+For example, doubleIfTrue’s first clause already deconstructs the pair tuple, so
+a bang pattern on the tuple as a whole has no effect in the second clause.
+
+
AlreadyDeconstructed.hs
+
+
+
+
Before
+
+
module AlreadyDeconstructed where
+
+doubleIfTrue :: (Int, Bool) -> Int
+doubleIfTrue (x, y) | y = x * 2
+doubleIfTrue !x = fst x
+
+
+
+
+
+
After
+
+
module AlreadyDeconstructed where
+
+doubleIfTrue :: (Int, Bool) -> Int
+doubleIfTrue (x, y) | y = x * 2
+doubleIfTrue x = fst x
+
+
+
+
+
+
+
+
+
+
+ Strict fields
+
+
Warning message
+
UnliftedTypes.hs:17:6: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo a = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
Explanation
+
Haskell allows a user to annotate fields of a datatype as strict, by prepending
+their type with an exclamation mark.
+Pattern matching on such a constructor forces it to WHNF, but this also automatically
+forces any strict fields to evaluate to WHNF as well.
+Thus, a Bang Pattern has no effect on a strict field.
module StrictField where
+
+data Foo = MkFoo !Int Int
+
+foo :: Foo -> Foo -> ()
+foo !a (MkFoo b !c) = ()
+
+
+
+
+
+
+
+
+
+
+ Unlifted and unboxed types
+
+
Warning messages
+
UnliftedTypes.hs:17:6: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo a = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
+UnliftedTypes.hs:17:9: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo b = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
+UnliftedTypes.hs:17:12: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo c = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
Explanation
+
Forcing the evaluation of a value up to WHNF does not make sense for unlifted and
+unboxed types, because these types can never be represented by an unevaluated expression at runtime.
+Thus, trying to enforce strictness via a bang pattern has no effect.
+
+
UnliftedTypes.hs
+
+
+
+
Before
+
+
{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# LANGUAGE UnliftedNewtypes #-}
+
+module UnliftedTypes where
+
+import GHC.Exts
+
+newtype MyInt :: TYPE 'IntRep where
+ MkMyInt :: Int# -> MyInt
+
+foo :: Int# -> MyInt -> (# Int, Int #) -> ()
+foo !a !b !c = ()
+
+
+
+
+
+
After
+
+
{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# LANGUAGE UnliftedNewtypes #-}
+
+module UnliftedTypes where
+
+import GHC.Exts
+
+newtype MyInt :: TYPE 'IntRep where
+ MkMyInt :: Int# -> MyInt
+
+foo :: Int# -> MyInt -> (# Int, Int #) -> ()
+foo a b c = ()
+
UnliftedTypes.hs:17:6: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo a = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
Explanation
+
Haskell allows a user to annotate fields of a datatype as strict, by prepending
+their type with an exclamation mark.
+Pattern matching on such a constructor forces it to WHNF, but this also automatically
+forces any strict fields to evaluate to WHNF as well.
+Thus, a Bang Pattern has no effect on a strict field.
module StrictField where
+
+data Foo = MkFoo !Int Int
+
+foo :: Foo -> Foo -> ()
+foo !a (MkFoo b !c) = ()
+
+
+
+
+
diff --git a/messages/GHC-38520/unliftedTypes/after/UnliftedTypes.hs b/messages/GHC-38520/unliftedTypes/after/UnliftedTypes.hs
new file mode 100644
index 00000000..3ae83e4c
--- /dev/null
+++ b/messages/GHC-38520/unliftedTypes/after/UnliftedTypes.hs
@@ -0,0 +1,17 @@
+{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# LANGUAGE UnliftedNewtypes #-}
+
+module UnliftedTypes where
+
+import GHC.Exts
+
+newtype MyInt :: TYPE 'IntRep where
+ MkMyInt :: Int# -> MyInt
+
+foo :: Int# -> MyInt -> (# Int, Int #) -> ()
+foo a b c = ()
diff --git a/messages/GHC-38520/unliftedTypes/before/UnliftedTypes.hs b/messages/GHC-38520/unliftedTypes/before/UnliftedTypes.hs
new file mode 100644
index 00000000..0d28a4cd
--- /dev/null
+++ b/messages/GHC-38520/unliftedTypes/before/UnliftedTypes.hs
@@ -0,0 +1,17 @@
+{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# LANGUAGE UnliftedNewtypes #-}
+
+module UnliftedTypes where
+
+import GHC.Exts
+
+newtype MyInt :: TYPE 'IntRep where
+ MkMyInt :: Int# -> MyInt
+
+foo :: Int# -> MyInt -> (# Int, Int #) -> ()
+foo !a !b !c = ()
diff --git a/messages/GHC-38520/unliftedTypes/index.html b/messages/GHC-38520/unliftedTypes/index.html
new file mode 100644
index 00000000..85e93676
--- /dev/null
+++ b/messages/GHC-38520/unliftedTypes/index.html
@@ -0,0 +1,78 @@
+
Warning messages
+
UnliftedTypes.hs:17:6: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo a = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
+UnliftedTypes.hs:17:9: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo b = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
+UnliftedTypes.hs:17:12: warning: [-Wredundant-bang-patterns]
+ Pattern match has redundant bang
+ In an equation for ‘foo’: foo c = ...
+ |
+17 | foo !a !b !c = ()
+ | ^
+
Explanation
+
Forcing the evaluation of a value up to WHNF does not make sense for unlifted and
+unboxed types, because these types can never be represented by an unevaluated expression at runtime.
+Thus, trying to enforce strictness via a bang pattern has no effect.
+
+
UnliftedTypes.hs
+
+
+
+
Before
+
+
{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# LANGUAGE UnliftedNewtypes #-}
+
+module UnliftedTypes where
+
+import GHC.Exts
+
+newtype MyInt :: TYPE 'IntRep where
+ MkMyInt :: Int# -> MyInt
+
+foo :: Int# -> MyInt -> (# Int, Int #) -> ()
+foo !a !b !c = ()
+
+
+
+
+
+
After
+
+
{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# LANGUAGE UnliftedNewtypes #-}
+
+module UnliftedTypes where
+
+import GHC.Exts
+
+newtype MyInt :: TYPE 'IntRep where
+ MkMyInt :: Int# -> MyInt
+
+foo :: Int# -> MyInt -> (# Int, Int #) -> ()
+foo a b c = ()
+