language-rust 0.1.0.26 → 0.1.1.26
raw patch · 7 files changed
+91/−49 lines, 7 filesdep ~basedep ~deepseqdep ~prettyprinterPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, deepseq, prettyprinter, statistics, weigh
API changes (from Hackage documentation)
Files
- ChangeLog.md +5/−0
- README.md +3/−1
- bench/timing-benchmarks/Main.hs +2/−2
- dist/build/Language/Rust/Parser/Internal.hs +26/−2
- language-rust.cabal +46/−42
- test/rustc-tests/Diff.hs +1/−1
- test/rustc-tests/Main.hs +8/−1
ChangeLog.md view
@@ -1,5 +1,10 @@ # Revision history for language-rust ++## 0.1.1.26 -- 2018-03-02++* Bump test and benchmark dependencies+ ## 0.1.0.26 -- 2018-03-01 * Parser module (using Alex and Happy)
README.md view
@@ -1,4 +1,4 @@-# Parser and pretty printer for Rust [![Build Status][4]][5] [![Windows build status][7]][8]+# Parser and pretty printer for Rust [![Build Status][4]][5] [![Windows build status][7]][8] [![Hackage Version][11]][12] `language-rust` aspires to efficiently and accurately parse and pretty print the [Rust language][0]. The underlying AST structures are also intended to be as similar as possible to the [`libsyntax` AST@@ -89,3 +89,5 @@ [8]: https://ci.appveyor.com/project/harpocrates/language-rust/branch/master [9]: https://github.com/harpocrates/language-rust/issues [10]: https://github.com/rust-lang/rust/blob/master/src/libsyntax/ast.rs+[11]: https://img.shields.io/hackage/v/language-rust.svg+[12]: https://hackage.haskell.org/package/language-rust
bench/timing-benchmarks/Main.hs view
@@ -3,7 +3,7 @@ import Criterion import Criterion.Main (defaultConfig) import Criterion.Types (anMean, reportAnalysis, timeLimit, anOutlierVar, ovEffect, OutlierEffect(Moderate))-import Statistics.Resampling.Bootstrap (Estimate(..))+import Statistics.Types (Estimate(..), ConfInt(..)) import Control.Monad (filterM) import Control.Exception (catch, throwIO)@@ -58,7 +58,7 @@ , "upper bound" .= u ] | (name,report) <- reports- , let Estimate m l u _ = anMean (reportAnalysis report)+ , let Estimate m (ConfInt l u _) = anMean (reportAnalysis report) , ovEffect (anOutlierVar (reportAnalysis report)) < Moderate ] for_ [ name | (name,report) <- reports, ovEffect (anOutlierVar (reportAnalysis report)) >= Moderate ] $ \n ->
dist/build/Language/Rust/Parser/Internal.hs view
@@ -77,7 +77,7 @@ import Control.Applicative(Applicative(..)) import Control.Monad (ap) --- parser produced by Happy Version 1.19.9+-- parser produced by Happy Version 1.19.8 newtype HappyAbsSyn = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607@@ -16524,7 +16524,31 @@ {-# LINE 20 "<built-in>" #-}-{-# LINE 1 "/var/folders/n5/0p2l4ydj6b34mxcd3bfz7djc0000gp/T/ghc65605_0/ghc_2.h" #-}+{-# LINE 1 "/var/folders/n5/0p2l4ydj6b34mxcd3bfz7djc0000gp/T/ghc17326_0/ghc_2.h" #-}++++++++++++++++++++++++
language-rust.cabal view
@@ -1,5 +1,5 @@ name: language-rust-version: 0.1.0.26+version: 0.1.1.26 synopsis: Parsing and pretty printing of Rust code description: Language Rust is a library for the analysis of Rust code. It includes a@@ -79,21 +79,21 @@ , BangPatterns , CPP - build-depends: base >=4.8 && <5.0- , prettyprinter >=1.0- , transformers >=0.4 && <0.6- , array >=0.5 && <0.6- , deepseq >=1.1+ build-depends: base >=4.8 && <5.0+ , prettyprinter >=1.0 && <2.0+ , transformers >=0.4 && <0.6+ , array >=0.5 && <0.6+ , deepseq >=1.1 && <1.5 if impl(ghc < 8)- build-depends: semigroups >=0.18+ build-depends: semigroups >=0.18 if flag(useByteStrings) cpp-options: -DUSE_BYTESTRING- build-depends: utf8-string >=1.0- , bytestring >=0.10+ build-depends: utf8-string >=1.0+ , bytestring >=0.10 if flag(enableQuasiquotes)- build-depends: template-haskell >=2.10+ build-depends: template-haskell >=2.10 test-suite unit-tests@@ -113,12 +113,13 @@ type: exitcode-stdio-1.0 default-language: Haskell2010- build-depends: base >=4.8 && <5.0- , HUnit >=1.3.0.0- , prettyprinter >=1.0- , test-framework >=0.8.0- , test-framework-hunit >= 0.3.0+ build-depends: HUnit >=1.3.0.0+ , test-framework >=0.8.0+ , test-framework-hunit >=0.3.0+ , language-rust+ , base+ , prettyprinter test-suite rustc-tests hs-source-dirs: test/rustc-tests@@ -136,21 +137,22 @@ type: exitcode-stdio-1.0 default-language: Haskell2010 - build-depends: base >=4.8 && <5.0- , process >= 1.3- , prettyprinter >=1.1- , bytestring >=0.10- , aeson >= 0.11.0.0- , directory >=1.2.5.0- , filepath >=1.4.0.0- , test-framework >=0.8.0- , vector >=0.10.0- , text >=1.2.0+ build-depends: process >=1.3+ , bytestring >=0.10+ , aeson >=0.11.0.0+ , directory >=1.2.5.0+ , filepath >=1.4.0.0+ , test-framework >=0.8.0+ , vector >=0.10.0+ , text >=1.2.0 , unordered-containers >=0.2.7+ , time >=1.2.0.0+ , language-rust- , time >=1.2.0.0+ , base+ , prettyprinter >=1.1 if impl(ghc < 8)- build-depends: semigroups >=0.18+ build-depends: semigroups >=0.18 benchmark timing-benchmarks hs-source-dirs: bench/timing-benchmarks@@ -161,15 +163,16 @@ type: exitcode-stdio-1.0 default-language: Haskell2010- build-depends: base >=4.8 && <5.0- , process >= 1.3- , bytestring >=0.10- , directory >= 1.2.5.0- , filepath >= 1.4.0.0+ build-depends: process >=1.3+ , bytestring >=0.10+ , aeson >=0.11.0.0+ , directory >=1.2.5.0+ , filepath >=1.4.0.0+ , criterion >=1.1.1.0+ , statistics >=0.14.0+ , language-rust- , criterion >=1.1.1.0- , statistics- , aeson >= 0.11.0.0+ , base benchmark allocation-benchmarks hs-source-dirs: bench/allocation-benchmarks@@ -181,12 +184,13 @@ type: exitcode-stdio-1.0 default-language: Haskell2010- build-depends: base >=4.8 && <5.0- , process >= 1.3- , bytestring >=0.10- , directory >=1.2.5.0- , filepath >=1.4.0.0+ build-depends: process >=1.3+ , bytestring >=0.10+ , aeson >=0.11.0.0+ , directory >=1.2.5.0+ , filepath >=1.4.0.0+ , weigh >=0.0.6+ , language-rust- , weigh >=0.0.4- , aeson >= 0.11.0.0+ , base
test/rustc-tests/Diff.hs view
@@ -725,7 +725,7 @@ -- TODO: use gbl to determine crate root instance Show a => Diffable (Path a) where- Path g segs _ === val = do+ Path _ segs _ === val = do let val' = case val ! "segments" of j@(Data.Aeson.Array v) | j ! 0 ! "identifier" == "{{root}}" -> Data.Aeson.Array (V.drop 1 v) j -> j
test/rustc-tests/Main.hs view
@@ -16,10 +16,11 @@ import Language.Rust.Pretty (prettyUnresolved, Resolve(..), Issue(..), Severity(Clean)) import Language.Rust.Syntax (SourceFile) -import System.Directory (getCurrentDirectory, getTemporaryDirectory, listDirectory, doesFileExist)+import System.Directory (getCurrentDirectory, getTemporaryDirectory, listDirectory, doesFileExist, findExecutable) import System.Process (withCreateProcess, proc, CreateProcess(..), StdStream(..), callProcess, readProcess) import System.FilePath ((</>), takeFileName) import System.IO (withFile, IOMode(WriteMode,ReadMode))+import System.Exit (exitSuccess) import Data.Time.Clock (utctDay, getCurrentTime) import Data.Time.Calendar (fromGregorian, showGregorian, diffDays)@@ -37,6 +38,12 @@ today <- utctDay <$> getCurrentTime when (diffDays today lastDay > 32) $ putStrLn $ "\x1b[33m" ++ "\nThe version of `rustc' the tests will try to use is older than 1 month" ++ "\x1b[0m"++ -- Don't bother running the tests if you don't have `rustup` or `rustc` installed.+ missingProgs <- any null <$> traverse findExecutable ["rustup","rustc"]+ when missingProgs $ do + putStrLn $ "Could not find `rustup`/`rustc`, so skipping these tests"+ exitSuccess -- Setting `rustc` version to the right nightly, just in this directory callProcess "rustup" ["override", "set", "nightly-" ++ showGregorian lastDay]