diff --git a/servant-client/src/Servant/Client/Generic.hs b/servant-client/src/Servant/Client/Generic.hs index 31a7fa1d..406e0fe3 100644 --- a/servant-client/src/Servant/Client/Generic.hs +++ b/servant-client/src/Servant/Client/Generic.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE FlexibleContexts #-} @@ -6,6 +7,9 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} + +#include "overlapping-compat.h" + module Servant.Client.Generic ( ClientLike(..) , genericMkClientL @@ -142,7 +146,7 @@ instance (GClientList b acc, GClientList a (ClientList b acc)) => GClientList (a :<|> b) acc where gClientList (a :<|> b) acc = gClientList a (gClientList b acc) -instance {-# OVERLAPPABLE #-} (ClientList client acc ~ (client ': acc)) +instance OVERLAPPABLE_ (ClientList client acc ~ (client ': acc)) => GClientList client acc where gClientList c acc = I c :* acc