diff --git a/package.yaml b/package.yaml index f340b2806..cfbb27a7e 100644 --- a/package.yaml +++ b/package.yaml @@ -93,6 +93,7 @@ dependencies: - connection - universe - universe-base + - universe-reverse-instances - random - random-shuffle - th-abstraction diff --git a/src/Data/Universe/Instances/Reverse/Hashable.hs b/src/Data/Universe/Instances/Reverse/Hashable.hs index 70b43c8f3..c9a3049c6 100644 --- a/src/Data/Universe/Instances/Reverse/Hashable.hs +++ b/src/Data/Universe/Instances/Reverse/Hashable.hs @@ -1,4 +1,4 @@ --- SPDX-FileCopyrightText: 2024 Stephan Barth , 2022 Gregor Kleen +-- SPDX-FileCopyrightText: 2022-2024 Stephan Barth , Gregor Kleen -- -- SPDX-License-Identifier: AGPL-3.0-or-later @@ -12,8 +12,9 @@ import ClassyPrelude import Data.Universe -instance (Eq b, Finite a) => Eq (a -> b) where - (==) f g = [ f k | k <- universeF ] == [ g k | k <- universeF ] +-- is indirectly imported elsewhere and already provides instance (Eq b, Finite a) => Eq (a -> b) where +import Data.Universe.Instances.Eq() + instance (Hashable a, Hashable b, Finite a) => Hashable (a -> b) where hashWithSalt s f = s `hashWithSalt` [ (k, f k) | k <- universeF ] diff --git a/src/Mail.hs b/src/Mail.hs index 4f9ab00d6..a253273b8 100644 --- a/src/Mail.hs +++ b/src/Mail.hs @@ -208,6 +208,8 @@ _MailSmtpDataSet = to $ \MailSmtpData{..} -> none id , Set.null smtpRecipients ] +--instance Eq (SelDateTimeFormat -> DateTimeFormat) + data MailContext = MailContext { mcLanguages :: Languages @@ -215,6 +217,8 @@ data MailContext = MailContext , mcCsvOptions :: CsvOptions } deriving (Eq, Ord, Read, Show, Generic) +--deriving via (Data.Universe.Class.Finite) instance Eq MailContext + deriveJSON defaultOptions { fieldLabelModifier = intercalate "-" . map toLower . drop 1 . splitCamel } ''MailContext