Skip to content

Commit

Permalink
polysemy-plugin: compatibility with ghc 9.8 (#483)
Browse files Browse the repository at this point in the history
  • Loading branch information
locallycompact authored Oct 13, 2023
1 parent 78925a6 commit ab8c12e
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions polysemy-plugin/src/Polysemy/Plugin/Fundep.hs
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,11 @@ instance Outputable FindConstraint where
-- | Given a list of constraints, filter out the 'FindConstraint's.
getFindConstraints :: PolysemyStuff 'Things -> [Ct] -> [FindConstraint]
getFindConstraints (findClass -> cls) cts = do
#if MIN_VERSION_GLASGOW_HASKELL(9,8,0,0)
cd@(CDictCan(DictCt{di_cls = cls', di_tys = [eff, r]})) <- cts
#else
cd@CDictCan{cc_class = cls', cc_tyargs = [eff, r]} <- cts
#endif
guard $ cls == cls'
pure $ FindConstraint
{ fcLoc = ctLoc cd
Expand All @@ -157,7 +161,11 @@ getFindConstraints (findClass -> cls) cts = do
-- | Get evidence in scope that aren't the 'FindConstraint's.
getExtraEvidence :: PolysemyStuff 'Things -> [Ct] -> [PredType]
getExtraEvidence things cts = do
#if MIN_VERSION_GLASGOW_HASKELL(9,8,0,0)
CDictCan(DictCt{di_cls = cls, di_tys = as}) <- cts
#else
CDictCan{cc_class = cls, cc_tyargs = as} <- cts
#endif
guard $ cls /= findClass things
pure $ mkAppTys (mkTyConTy $ classTyCon cls) as

Expand Down

0 comments on commit ab8c12e

Please sign in to comment.