packages feed

ghc-exactprint 0.6.1 → 0.6.2

raw patch · 4 files changed

+19/−46 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.Haskell.GHC.ExactPrint.AnnotateTypes: annotationsToComments :: forall m_aLXS. MonadFree AnnotationF m_aLXS => [AnnKeywordId] -> m_aLXS ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: annotationsToComments :: forall m_aM14. MonadFree AnnotationF m_aM14 => [AnnKeywordId] -> m_aM14 ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: countAnns :: forall m_aLUu. MonadFree AnnotationF m_aLUu => AnnKeywordId -> m_aLUu Int
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: countAnns :: forall m_aLXG. MonadFree AnnotationF m_aLXG => AnnKeywordId -> m_aLXG Int
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: getSrcSpanForKw :: forall m_aLWJ. MonadFree AnnotationF m_aLWJ => SrcSpan -> AnnKeywordId -> m_aLWJ SrcSpan
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: getSrcSpanForKw :: forall m_aLZV. MonadFree AnnotationF m_aLZV => SrcSpan -> AnnKeywordId -> m_aLZV SrcSpan
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: ifInContext :: forall m_aM2l. MonadFree AnnotationF m_aM2l => Set AstContext -> Annotated () -> Annotated () -> m_aM2l ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: ifInContext :: forall m_aM5x. MonadFree AnnotationF m_aM5x => Set AstContext -> Annotated () -> Annotated () -> m_aM5x ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markAnnBeforeAnn :: forall m_aM5J. MonadFree AnnotationF m_aM5J => AnnKeywordId -> AnnKeywordId -> m_aM5J ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markAnnBeforeAnn :: forall m_aM8V. MonadFree AnnotationF m_aM8V => AnnKeywordId -> AnnKeywordId -> m_aM8V ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markEOF :: forall m_aKZY. MonadFree AnnotationF m_aKZY => m_aKZY ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markEOF :: forall m_aL3a. MonadFree AnnotationF m_aL3a => m_aL3a ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markExternal :: forall m_aLON. MonadFree AnnotationF m_aLON => SrcSpan -> AnnKeywordId -> String -> m_aLON ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markExternal :: forall m_aLRZ. MonadFree AnnotationF m_aLRZ => SrcSpan -> AnnKeywordId -> String -> m_aLRZ ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markInside :: forall m_aLNI. MonadFree AnnotationF m_aLNI => AnnKeywordId -> m_aLNI ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markInside :: forall m_aLQU. MonadFree AnnotationF m_aLQU => AnnKeywordId -> m_aLQU ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markInstead :: forall m_aLLs. MonadFree AnnotationF m_aLLs => AnnKeywordId -> KeywordId -> m_aLLs ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markInstead :: forall m_aLOE. MonadFree AnnotationF m_aLOE => AnnKeywordId -> KeywordId -> m_aLOE ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markMany :: forall m_aLPY. MonadFree AnnotationF m_aLPY => AnnKeywordId -> m_aLPY ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markMany :: forall m_aLTa. MonadFree AnnotationF m_aLTa => AnnKeywordId -> m_aLTa ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markManyOptional :: forall m_aLR3. MonadFree AnnotationF m_aLR3 => AnnKeywordId -> m_aLR3 ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markManyOptional :: forall m_aLUf. MonadFree AnnotationF m_aLUf => AnnKeywordId -> m_aLUf ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markOffsetPrim :: forall m_aLS8. MonadFree AnnotationF m_aLS8 => AnnKeywordId -> Int -> Maybe String -> m_aLS8 ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markOffsetPrim :: forall m_aLVk. MonadFree AnnotationF m_aLVk => AnnKeywordId -> Int -> Maybe String -> m_aLVk ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markOffsetPrimOptional :: forall m_aLTj. MonadFree AnnotationF m_aLTj => AnnKeywordId -> Int -> Maybe String -> m_aLTj ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markOffsetPrimOptional :: forall m_aLWv. MonadFree AnnotationF m_aLWv => AnnKeywordId -> Int -> Maybe String -> m_aLWv ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markOutside :: forall m_aLMA. MonadFree AnnotationF m_aLMA => AnnKeywordId -> KeywordId -> m_aLMA ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markOutside :: forall m_aLPM. MonadFree AnnotationF m_aLPM => AnnKeywordId -> KeywordId -> m_aLPM ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markPPOptional :: forall m_aLKk. MonadFree AnnotationF m_aLKk => AnnKeywordId -> Maybe String -> m_aLKk ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markPPOptional :: forall m_aLNw. MonadFree AnnotationF m_aLNw => AnnKeywordId -> Maybe String -> m_aLNw ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: markPrim :: forall m_aLJc. MonadFree AnnotationF m_aLJc => AnnKeywordId -> Maybe String -> m_aLJc ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: markPrim :: forall m_aLMo. MonadFree AnnotationF m_aLMo => AnnKeywordId -> Maybe String -> m_aLMo ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: setContextLevel :: forall m_aM02. MonadFree AnnotationF m_aM02 => Set AstContext -> Int -> Annotated () -> m_aM02 ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: setContextLevel :: forall m_aM3e. MonadFree AnnotationF m_aM3e => Set AstContext -> Int -> Annotated () -> m_aM3e ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: storeOriginalSrcSpan :: forall m_aLVA. MonadFree AnnotationF m_aLVA => SrcSpan -> AnnKey -> m_aLVA AnnKey
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: storeOriginalSrcSpan :: forall m_aLYM. MonadFree AnnotationF m_aLYM => SrcSpan -> AnnKey -> m_aLYM AnnKey
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: tellContext :: forall m_aM4E. MonadFree AnnotationF m_aM4E => Set AstContext -> m_aM4E ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: tellContext :: forall m_aM7Q. MonadFree AnnotationF m_aM7Q => Set AstContext -> m_aM7Q ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: unsetContext :: forall m_aM1d. MonadFree AnnotationF m_aM1d => AstContext -> Annotated () -> m_aM1d ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: unsetContext :: forall m_aM4p. MonadFree AnnotationF m_aM4p => AstContext -> Annotated () -> m_aM4p ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: withSortKey :: forall m_aLYX. MonadFree AnnotationF m_aLYX => [(SrcSpan, Annotated ())] -> m_aLYX ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: withSortKey :: forall m_aM29. MonadFree AnnotationF m_aM29 => [(SrcSpan, Annotated ())] -> m_aM29 ()
- Language.Haskell.GHC.ExactPrint.AnnotateTypes: withSortKeyContexts :: forall m_aM3w. MonadFree AnnotationF m_aM3w => ListContexts -> [(SrcSpan, Annotated ())] -> m_aM3w ()
+ Language.Haskell.GHC.ExactPrint.AnnotateTypes: withSortKeyContexts :: forall m_aM6I. MonadFree AnnotationF m_aM6I => ListContexts -> [(SrcSpan, Annotated ())] -> m_aM6I ()

Files

ChangeLog view
@@ -1,3 +1,5 @@+2019-08-28 v0.6.2+        * Support GHC 8.8.1 (release candidate) 2019-05-27 v0.6.1         * Support GHC 8.8 (alpha1) 2019-03-01 v0.6
ghc-exactprint.cabal view
@@ -1,5 +1,5 @@ name:                ghc-exactprint-version:             0.6.1+version:             0.6.2 synopsis:            ExactPrint for GHC description:         Using the API Annotations available from GHC 7.10.2, this                      library provides a means to round trip any code that can
src/Language/Haskell/GHC/ExactPrint/Preprocess.hs view
@@ -218,11 +218,27 @@   hsc_env <- GHC.getSession   let dfs = GHC.hsc_dflags hsc_env       new_env = hsc_env { GHC.hsc_dflags = injectCppOptions cppOptions dfs }+#if __GLASGOW_HASKELL__ >= 808+  -- (dflags', hspp_fn) <-+  r <- GHC.liftIO $ GHC.preprocess new_env src_fn Nothing (Just (GHC.Cpp GHC.HsSrcFile))+  case r of+    Left err -> error $ showErrorMessages err+    Right (dflags', hspp_fn) -> do+      buf <- GHC.liftIO $ GHC.hGetStringBuffer hspp_fn+      txt <- GHC.liftIO $ readFileGhc hspp_fn+      return (txt, buf, dflags')+#else   (dflags', hspp_fn) <-       GHC.liftIO $ GHC.preprocess new_env (src_fn, Just (GHC.Cpp GHC.HsSrcFile))   buf <- GHC.liftIO $ GHC.hGetStringBuffer hspp_fn   txt <- GHC.liftIO $ readFileGhc hspp_fn   return (txt, buf, dflags')+#endif++#if __GLASGOW_HASKELL__ >= 808+showErrorMessages :: GHC.ErrorMessages -> String+showErrorMessages msgs = intercalate "\n" $ map show $ GHC.bagToList msgs+#endif  injectCppOptions :: CppOptions -> GHC.DynFlags -> GHC.DynFlags injectCppOptions CppOptions{..} dflags =
− tests/examples/ghc88/PersistUniqueTest.hs
@@ -1,45 +0,0 @@-{-# LANGUAGE QuasiQuotes, TemplateHaskell, CPP, GADTs, TypeFamilies, OverloadedStrings, FlexibleContexts, EmptyDataDecls, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses #-}-module PersistUniqueTest where--import Init---- mpsGeneric = False is due to a bug or at least lack of a feature in mkKeyTypeDec TH.hs-#if WITH_NOSQL-mkPersist persistSettings { mpsGeneric = False } [persistUpperCase|-#else-share [mkPersist persistSettings { mpsGeneric = False }, mkMigrate "migration"] [persistLowerCase|-#endif-  Fo-      foo Int-      bar Int-      Primary foo-      UniqueBar bar-      deriving Eq Show-|]-#ifdef WITH_NOSQL-cleanDB :: (MonadIO m, PersistQuery backend, PersistEntityBackend Fo ~ backend) => ReaderT backend m ()-cleanDB = do-  deleteWhere ([] :: [Filter Fo])--db :: Action IO () -> Assertion-db = db' cleanDB-#endif--specs :: Spec-specs = describe "custom primary key" $ do-#ifdef WITH_NOSQL-  return ()-#else-  it "getBy" $ db $ do-    let b = 5-    k <- insert $ Fo 3 b-    Just vk <- get k-    Just vu <- getBy (UniqueBar b)-    vu @== Entity k vk-  it "insertUniqueEntity" $ db $ do-    let fo = Fo 3 5-    Just (Entity _ insertedFoValue) <- insertUniqueEntity fo-    Nothing <- insertUniqueEntity fo-    fo @== insertedFoValue-#endif-