From d40ee3315a68a2324abdca3ffaf8fcd0209cb16e Mon Sep 17 00:00:00 2001 From: Beat Hagenlocher Date: Sat, 8 Jun 2024 18:07:38 +0200 Subject: [PATCH 1/3] Add everything for 30281 --- .../after/DerivingStrategies.hs | 7 +++++++ .../before/DerivingStrategies.hs | 5 +++++ .../GHC-30281/deriving-strategies/index.md | 3 +++ .../GHC-30281/deriving-tuple/after/Tuple.hs | 4 ++++ .../GHC-30281/deriving-tuple/before/Tuple.hs | 5 +++++ .../messages/GHC-30281/deriving-tuple/index.md | 3 +++ message-index/messages/GHC-30281/index.md | 15 +++++++++++++++ 7 files changed, 42 insertions(+) create mode 100644 message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs create mode 100644 message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs create mode 100644 message-index/messages/GHC-30281/deriving-strategies/index.md create mode 100644 message-index/messages/GHC-30281/deriving-tuple/after/Tuple.hs create mode 100644 message-index/messages/GHC-30281/deriving-tuple/before/Tuple.hs create mode 100644 message-index/messages/GHC-30281/deriving-tuple/index.md create mode 100644 message-index/messages/GHC-30281/index.md diff --git a/message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs b/message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs new file mode 100644 index 00000000..bef1c027 --- /dev/null +++ b/message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs @@ -0,0 +1,7 @@ +{-# LANGUAGE DerivingStrategies #-} + +module DerivingStrategies where + +data Foo = Foo + deriving Eq + deriving Ord \ No newline at end of file diff --git a/message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs b/message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs new file mode 100644 index 00000000..63c71534 --- /dev/null +++ b/message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs @@ -0,0 +1,5 @@ +module Deriving-DerivingStrategies where + +data Foo = Foo + deriving Eq + deriving Ord \ No newline at end of file diff --git a/message-index/messages/GHC-30281/deriving-strategies/index.md b/message-index/messages/GHC-30281/deriving-strategies/index.md new file mode 100644 index 00000000..227dbc46 --- /dev/null +++ b/message-index/messages/GHC-30281/deriving-strategies/index.md @@ -0,0 +1,3 @@ +--- +title: Resolve by using the `DerivingStrategies` language extension +--- diff --git a/message-index/messages/GHC-30281/deriving-tuple/after/Tuple.hs b/message-index/messages/GHC-30281/deriving-tuple/after/Tuple.hs new file mode 100644 index 00000000..51d97e26 --- /dev/null +++ b/message-index/messages/GHC-30281/deriving-tuple/after/Tuple.hs @@ -0,0 +1,4 @@ +module Tuple where + +data Foo = Foo + deriving (Eq, Show) diff --git a/message-index/messages/GHC-30281/deriving-tuple/before/Tuple.hs b/message-index/messages/GHC-30281/deriving-tuple/before/Tuple.hs new file mode 100644 index 00000000..185350af --- /dev/null +++ b/message-index/messages/GHC-30281/deriving-tuple/before/Tuple.hs @@ -0,0 +1,5 @@ +module Tuple where + +data Foo = Foo + deriving Eq + deriving Show diff --git a/message-index/messages/GHC-30281/deriving-tuple/index.md b/message-index/messages/GHC-30281/deriving-tuple/index.md new file mode 100644 index 00000000..9780fbf8 --- /dev/null +++ b/message-index/messages/GHC-30281/deriving-tuple/index.md @@ -0,0 +1,3 @@ +--- +title: Resolve by `deriving` a tuple of type classes +--- diff --git a/message-index/messages/GHC-30281/index.md b/message-index/messages/GHC-30281/index.md new file mode 100644 index 00000000..0ab44e45 --- /dev/null +++ b/message-index/messages/GHC-30281/index.md @@ -0,0 +1,15 @@ +--- +title: Multiple `deriving` clauses +summary: Multiple `deriving` clauses are not allowed. +severity: error +introduced: 9.6.1 +--- + +Using the `deriving` clause multiple times on the same `data` or `newtype` definition is illegal. + +Can be resolved by either: + +- Using deriving with a tuple (`deriving (Eq, Ord)`) +- Using the `DerivingStrategies` language extension + + From 4d535dc104c1840cc87fe449e6901a33a702d711 Mon Sep 17 00:00:00 2001 From: Beat Hagenlocher Date: Sat, 8 Jun 2024 18:10:17 +0200 Subject: [PATCH 2/3] Add explicit ordering --- message-index/messages/GHC-30281/deriving-strategies/index.md | 1 + message-index/messages/GHC-30281/deriving-tuple/index.md | 1 + 2 files changed, 2 insertions(+) diff --git a/message-index/messages/GHC-30281/deriving-strategies/index.md b/message-index/messages/GHC-30281/deriving-strategies/index.md index 227dbc46..03aec649 100644 --- a/message-index/messages/GHC-30281/deriving-strategies/index.md +++ b/message-index/messages/GHC-30281/deriving-strategies/index.md @@ -1,3 +1,4 @@ --- title: Resolve by using the `DerivingStrategies` language extension +order: 2 --- diff --git a/message-index/messages/GHC-30281/deriving-tuple/index.md b/message-index/messages/GHC-30281/deriving-tuple/index.md index 9780fbf8..4da2988e 100644 --- a/message-index/messages/GHC-30281/deriving-tuple/index.md +++ b/message-index/messages/GHC-30281/deriving-tuple/index.md @@ -1,3 +1,4 @@ --- title: Resolve by `deriving` a tuple of type classes +order: 1 --- From b8ffae32ab9a101aba954cdf430076140a1b7849 Mon Sep 17 00:00:00 2001 From: Beat Hagenlocher Date: Sat, 8 Jun 2024 19:55:21 +0200 Subject: [PATCH 3/3] Add newlines everywhere --- .../GHC-30281/deriving-strategies/after/DerivingStrategies.hs | 2 +- .../GHC-30281/deriving-strategies/before/DerivingStrategies.hs | 2 +- message-index/messages/GHC-30281/index.md | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs b/message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs index bef1c027..682ffa36 100644 --- a/message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs +++ b/message-index/messages/GHC-30281/deriving-strategies/after/DerivingStrategies.hs @@ -4,4 +4,4 @@ module DerivingStrategies where data Foo = Foo deriving Eq - deriving Ord \ No newline at end of file + deriving Ord diff --git a/message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs b/message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs index 63c71534..72382563 100644 --- a/message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs +++ b/message-index/messages/GHC-30281/deriving-strategies/before/DerivingStrategies.hs @@ -2,4 +2,4 @@ module Deriving-DerivingStrategies where data Foo = Foo deriving Eq - deriving Ord \ No newline at end of file + deriving Ord diff --git a/message-index/messages/GHC-30281/index.md b/message-index/messages/GHC-30281/index.md index 0ab44e45..3059510e 100644 --- a/message-index/messages/GHC-30281/index.md +++ b/message-index/messages/GHC-30281/index.md @@ -12,4 +12,3 @@ Can be resolved by either: - Using deriving with a tuple (`deriving (Eq, Ord)`) - Using the `DerivingStrategies` language extension -