From 22d5790e73f6b74401ac2cec32a627edc77a34d8 Mon Sep 17 00:00:00 2001 From: Guillaume Bouchard Date: Mon, 24 Jan 2022 17:10:33 +0100 Subject: [PATCH] Fix GHC 9.2 build Close #1513. GHC 9.2 needs explicit kind signature here, I don't really understand why. This kind signature is correct and not too restritive, because `HasLink` is technically defined `class HasLink endpoint` which means that it is infered as `k -> Constraint`. In the instance signature, we have `HasLink ((arr :: a -> b) :> sub)`, so here the `k` is the same kind as the one of `:>` which is not polykinded. --- servant/src/Servant/Links.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servant/src/Servant/Links.hs b/servant/src/Servant/Links.hs index 8f9c553d..ce07e22d 100644 --- a/servant/src/Servant/Links.hs +++ b/servant/src/Servant/Links.hs @@ -649,7 +649,7 @@ simpleToLink _ toA _ = toLink toA (Proxy :: Proxy sub) -- Erroring instance for 'HasLink' when a combinator is not fully applied instance TypeError (PartialApplication HasLink arr) => HasLink ((arr :: a -> b) :> sub) where - type MkLink (arr :> sub) _ = TypeError (PartialApplication HasLink arr) + type MkLink (arr :> sub) _ = TypeError (PartialApplication (HasLink :: * -> Constraint) arr) toLink = error "unreachable" -- Erroring instances for 'HasLink' for unknown API combinators