polysemy-plugin 0.4.5.1 → 0.4.5.2
raw patch · 2 files changed
+9/−1 lines, 2 filesdep ~containersdep ~doctestdep ~ghc-tcplugins-extra
Dependency ranges changed: containers, doctest, ghc-tcplugins-extra, inspection-testing
Files
polysemy-plugin.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: polysemy-plugin-version: 0.4.5.1+version: 0.4.5.2 synopsis: Disambiguate obvious uses of effects. description: Please see the README on GitHub at <https://github.com/polysemy-research/polysemy/tree/master/polysemy-plugin#readme> category: Polysemy
src/Polysemy/Plugin/Fundep.hs view
@@ -143,7 +143,11 @@ -- | 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@@ -157,7 +161,11 @@ -- | 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