Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions message-index/messages/GHC-45906/example/after/SAKS.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{-# LANGUAGE GHC2021 #-}

module SAKS where

import Data.Kind (Type)

type T :: Type
data T
8 changes: 8 additions & 0 deletions message-index/messages/GHC-45906/example/before/SAKS.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{-# LANGUAGE Haskell2010 #-}

module SAKS where

import Data.Kind (Type)

type T :: Type
data T
15 changes: 15 additions & 0 deletions message-index/messages/GHC-45906/example/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Illegal standalone kind signature
---

Module fails to compile because it contains a standalone type
signature.

## Error Message

```haskell
SAKS.hs:7:1: error: [GHC-45906]
Illegal standalone kind signature
Suggested fix:
Perhaps you intended to use the ‘StandaloneKindSignatures’ extension (implied by ‘UnliftedDatatypes’)
```
24 changes: 24 additions & 0 deletions message-index/messages/GHC-45906/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: Illegal standalone kind signature
summary: Program contains a standalone kind signature, but the active extensions do not allow it.
severity: error
introduced: 9.6.1
---

[Standalone kind signatures] can be used to specify a polymorphic
kind for a type, to overcome kind inference restrictions:

```haskell
type T :: (k -> Type) -> k -> Type -- standalone kind signature
data T m a = MkT (m a) (T Maybe (m a))
```

Without the standalone kind signature, GHC would infer the kind
`T :: (Type -> Type) -> Type -> Type`.

Use of this feature requires the `StandaloneKindSignatures`
extension to be enabled. This extension is implied by
`UnliftedDatatypes`, and included in the `GHC2021` and `GHC2024`
language editions.

[Standalone kind signatures]: https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/poly_kinds.html?highlight=standalonekindsignatures#extension-StandaloneKindSignatures