packages feed

cabal-bounds 1.2.0 → 1.3.0

raw patch · 56 files changed

+728/−362 lines, 56 filesdep +aesondep +bytestringdep +lens-aesondep ~cabal-lensesPVP ok

version bump matches the API change (PVP)

Dependencies added: aeson, bytestring, lens-aeson, text

Dependency ranges changed: cabal-lenses

API changes (from Hackage documentation)

+ CabalBounds.Args: Libs :: Maybe String -> FilePath -> String -> Maybe FilePath -> Maybe FilePath -> Args
+ CabalBounds.Args: defaultLibs :: Args

Files

CHANGELOG view
@@ -1,3 +1,9 @@+1.3.0+-----+* Support 'cabal new-build'+* Add 'libs' subcommand for outputing the libs used by an 'update' run+* Bugfix for missing upper/lower bounds+ 1.1.0 ----- * By default 'update' now only widens the lower and upper bounds.
cabal-bounds.cabal view
@@ -1,5 +1,5 @@ name: cabal-bounds-version: 1.2.0+version: 1.3.0 cabal-version: >=1.9.2 build-type: Simple license: BSD3@@ -78,10 +78,14 @@         unordered-containers >=0.2.3.3 && <0.3,         transformers >=0.3.0.0 && <0.6,         either >=4.1.1 && <4.5,-        cabal-lenses >=0.4.6 && <0.5,+        cabal-lenses >=0.5.0 && <0.6,         Cabal >=1.18.0 && <1.25,         filepath >=1.3 && <1.5,-        directory >=1.2 && <1.4+        directory >=1.2 && <1.4,+        aeson >=1.2.3.0 && <1.3,+        lens-aeson >=1.0.2 && <1.1,+        bytestring >= 0.10.8.2 && <1.0,+        text >=1.1.0.1 && <1.3     cpp-options: -DCABAL     hs-source-dirs: lib     other-modules:@@ -93,6 +97,7 @@         CabalBounds.Update         CabalBounds.Dump         CabalBounds.HaskellPlatform+        CabalBounds.Types     ghc-options: -W  executable cabal-bounds
lib/CabalBounds/Args.hs view
@@ -7,6 +7,7 @@    , defaultDrop    , defaultUpdate    , defaultDump+   , defaultLibs    ) where  import System.Console.CmdArgs hiding (ignore)@@ -50,11 +51,17 @@                  , output     :: Maybe String                  , cabalFiles :: [FilePath]                  }+          | Libs { output          :: Maybe String+                 , fromFile        :: FilePath+                 , haskellPlatform :: String+                 , cabalFile       :: Maybe FilePath+                 , setupConfigFile :: Maybe FilePath+                 }           deriving (Data, Typeable, Show, Eq)   get :: IO Args-get = cmdArgsRun . cmdArgsMode $ modes [dropArgs, updateArgs, dumpArgs]+get = cmdArgsRun . cmdArgsMode $ modes [dropArgs, updateArgs, dumpArgs, libsArgs]    &= program "cabal-bounds"    &= summary summaryInfo    &= help "A command line program for managing the bounds/versions of the dependencies in a cabal file."@@ -108,6 +115,16 @@    }  +defaultLibs :: Args+defaultLibs = Libs+   { output          = def+   , fromFile        = def+   , haskellPlatform = def+   , cabalFile       = def+   , setupConfigFile = def+   }++ dropArgs :: Args dropArgs = Drop    { upper      = def &= explicit &= name "upper" &= name "U"@@ -137,7 +154,7 @@    , upperComp       = def &= explicit &= name "uppercomp"                            &= help "Only the upper bound is updated with the specified version component. (major1, major2 or minor)"    , missing         = def &= help "Only the dependencies having missing bounds are updated."-   , fromFile        = def &= typ "FILE" &= help "Update bounds by the library versions spedified in the given file."+   , fromFile        = def &= typ "FILE" &= help "Update bounds by the library versions specified in the given file."    , haskellPlatform = def &= explicit &= typ "VERSION" &= name "haskell-platform"                            &= help "Update bounds by the library versions of the specified haskell platform version"    , setupConfigFile = def &= CmdArgs.ignore@@ -149,6 +166,16 @@    { output     = def &= explicit &= typ "FILE" &= name "output" &= name "o"                       &= help "Save libraries with lower bounds to file, if empty, then it's written to stdout."    , cabalFiles = def &= args &= typ "CABAL-FILE"+   }+++libsArgs :: Args+libsArgs = Libs+   { output     = def &= explicit &= typ "FILE" &= name "output" &= name "o"+                      &= help "Save the libraries cabal-bounds would use for its update run to file, if empty, then they're written to stdout."+   , fromFile        = def &= typ "FILE" &= help "Use the library versions specified in the given file."+   , haskellPlatform = def &= explicit &= typ "VERSION" &= name "haskell-platform"+                           &= help "Use the library versions of the specified haskell platform version"    }  
lib/CabalBounds/Dump.hs view
@@ -9,11 +9,8 @@ import Data.Maybe (fromMaybe) import qualified CabalLenses as CL import CabalBounds.Dependencies (Dependencies(..), allDependency, filterDependency)+import CabalBounds.Types import Control.Lens--type LibName    = String-type LibVersion = [Int]-type Library    = (LibName, LibVersion)   dump :: Dependencies -> [GenericPackageDescription] -> [Library]
lib/CabalBounds/Main.hs view
@@ -1,4 +1,4 @@-{-# Language StandaloneDeriving, PatternGuards, CPP #-}+{-# Language StandaloneDeriving, PatternGuards, CPP, OverloadedStrings #-}  module CabalBounds.Main    ( cabalBounds@@ -22,17 +22,23 @@ import qualified CabalBounds.Update as U import qualified CabalBounds.Dump as D import qualified CabalBounds.HaskellPlatform as HP+import CabalBounds.Types import qualified CabalLenses as CL import qualified System.IO.Strict as SIO import System.FilePath ((</>)) import System.Directory (getCurrentDirectory) import Control.Monad.Trans.Either (EitherT, runEitherT, bimapEitherT, hoistEither, left, right) import Control.Monad.IO.Class+import Control.Lens import qualified Data.HashMap.Strict as HM import Data.List (foldl', sortBy, find) import Data.Function (on) import Data.Char (toLower) import Data.Maybe (fromMaybe)+import qualified Data.Aeson as Aeson+import Data.Aeson.Lens+import qualified Data.ByteString.Lazy as BS+import qualified Data.Text as T  #if MIN_VERSION_Cabal(1,22,0) == 0 import Distribution.Simple.Configure (ConfigStateFileErrorType(..))@@ -47,10 +53,11 @@ #endif  -type Error           = String+type Error = String type SetupConfigFile = FilePath-type LibraryFile     = FilePath-type CabalFile       = FilePath+type PlanFile = FilePath+type LibraryFile = FilePath+type CabalFile = FilePath   cabalBounds :: A.Args -> IO (Maybe Error)@@ -82,18 +89,33 @@                        else right $ A.cabalFiles args        pkgDescrps <- packageDescriptions cabalFiles-      let libs = sortBy (compare `on` (map toLower . fst)) $ D.dump (DP.dependencies args) pkgDescrps+      let libs = sortLibraries $ D.dump (DP.dependencies args) pkgDescrps       case A.output args of            Just file -> liftIO $ writeFile file (prettyPrint libs)            Nothing   -> liftIO $ putStrLn (prettyPrint libs))    where-      prettyPrint []     = "[]"-      prettyPrint (l:ls) =-         "[ " ++ show l ++ "\n" ++ foldl' (\str l -> str ++ ", " ++ show l ++ "\n") "" ls ++ "]";-       args = ignoreBaseLibrary args' +cabalBounds args@A.Libs {} =+   leftToJust <$> runEitherT (do+      cabalFile <- findCabalFile $ A.cabalFile args+      libs      <- sortLibraries . toList <$> libraries (A.haskellPlatform args) (A.fromFile args) (A.setupConfigFile args, cabalFile)+      let libs' = filter ((/= "base") . fst) libs+      case A.output args of+           Just file -> liftIO $ writeFile file (prettyPrint libs')+           Nothing   -> liftIO $ putStrLn (prettyPrint libs')) ++sortLibraries :: [Library] -> [Library]+sortLibraries = sortBy (compare `on` (map toLower . fst))+++prettyPrint :: [Library] -> String+prettyPrint []     = "[]"+prettyPrint (l:ls) =+   "[ " ++ show l ++ "\n" ++ foldl' (\str l -> str ++ ", " ++ show l ++ "\n") "" ls ++ "]";++ findCabalFile :: Maybe CabalFile -> EitherT Error IO CabalFile findCabalFile Nothing = do    curDir <- liftIO getCurrentDirectory@@ -102,16 +124,6 @@ findCabalFile (Just file) = right file  -findSetupConfigFile :: Maybe SetupConfigFile -> CabalFile -> EitherT Error IO SetupConfigFile-findSetupConfigFile Nothing cabalFile = do-   distDir <- liftIO $ CL.findDistDir cabalFile-   case distDir of-        Just dir -> right $ dir </> "setup-config"-        Nothing  -> left "Couldn't find 'dist' directory! Have you already build the project?"--findSetupConfigFile (Just confFile) _ = right confFile-- ignoreBaseLibrary :: A.Args -> A.Args ignoreBaseLibrary args =    case find (== "base") (A.ignore args) of@@ -132,18 +144,27 @@ packageDescriptions files = mapM packageDescription files  -libraries :: HP.HPVersion -> LibraryFile -> (Maybe SetupConfigFile, CabalFile) -> EitherT Error IO U.Libraries-libraries "" "" (maybeConfFile, cabalFile) = do-   confFile <- findSetupConfigFile maybeConfFile cabalFile-   installedLibraries confFile+libraries :: HP.HPVersion -> LibraryFile -> (Maybe SetupConfigFile, CabalFile) -> EitherT Error IO Libraries+libraries "" "" (Just confFile, _) = do+   librariesFromSetupConfig confFile +libraries "" "" (Nothing, cabalFile) = do+   distDir <- liftIO $ CL.findDistDir cabalFile+   case distDir of+        Just distDir -> librariesFromSetupConfig $ distDir </> "setup-config"+        Nothing      -> do+           newDistDir <- liftIO $ CL.findNewDistDir cabalFile+           case newDistDir of+                Just newDistDir -> librariesFromPlanFile $ newDistDir </> "cache" </> "plan.json"+                Nothing         -> left "Couldn't find 'dist' nor 'dist-newstyle' directory! Have you already build the cabal project?"+ libraries hpVersion libFile _ = do    hpLibs       <- haskellPlatformLibraries hpVersion    libsFromFile <- librariesFromFile libFile    right $ HM.union hpLibs libsFromFile  -librariesFromFile :: LibraryFile -> EitherT Error IO U.Libraries+librariesFromFile :: LibraryFile -> EitherT Error IO Libraries librariesFromFile ""      = right HM.empty librariesFromFile libFile = do    contents <- liftIO $ SIO.readFile libFile@@ -157,7 +178,7 @@          = left "Invalid format of library file given to '--fromfile'. Expected file with content of type '[(String, [Int])]'."  -haskellPlatformLibraries :: HP.HPVersion -> EitherT Error IO U.Libraries+haskellPlatformLibraries :: HP.HPVersion -> EitherT Error IO Libraries haskellPlatformLibraries hpVersion =    case hpVersion of         ""         -> right HM.empty@@ -167,13 +188,13 @@                 | otherwise                           -> left $ "Invalid haskell platform version '" ++ version ++ "'"  -installedLibraries :: SetupConfigFile -> EitherT Error IO U.Libraries-installedLibraries ""       = right HM.empty-installedLibraries confFile = do+librariesFromSetupConfig :: SetupConfigFile -> EitherT Error IO Libraries+librariesFromSetupConfig ""       = right HM.empty+librariesFromSetupConfig confFile = do    binfo <- liftIO $ tryGetConfigStateFile confFile    bimapEitherT show buildInfoLibs (hoistEither binfo)    where-      buildInfoLibs :: LocalBuildInfo -> U.Libraries+      buildInfoLibs :: LocalBuildInfo -> Libraries       buildInfoLibs = HM.fromList                     . map (\(P.PackageName n, v) -> (n, newestVersion v))                     . filter ((not . null) . snd)@@ -181,6 +202,38 @@        newestVersion :: [PI.InstalledPackageInfo] -> V.Version       newestVersion = maximum . map (P.pkgVersion . PI.sourcePackageId)+++librariesFromPlanFile :: PlanFile -> EitherT Error IO Libraries+librariesFromPlanFile planFile = do+   contents <- liftIO $ BS.readFile planFile+   let json = Aeson.decode contents :: Maybe Aeson.Value+   case json of+        Just json -> do+           -- get all ids: ["bytestring-0.10.6.0-2362d1f36f12553920ce3710ae4a4ecb432374f4e5feb33a61b7414b43605a0df", ...]+           let ids = json ^.. key "install-plan" . _Array . traversed . key "id" . _String++           -- transform ids into: [["2362d1f36f12553920ce3710ae4a4ecb432374f4e5feb33a61b7414b43605a0df", "0.10.6.0", "bytestring"], ...]+           let ids' = map (reverse . T.split (== '-')) ids++           -- remove too short ids or ids of inplace libs+           let ids'' = filter (\id -> length id >= 3 && (id !! 0) /= "inplace") ids'++           -- drop the hash: [["0.10.6.0", "bytestring"], ...]+           let ids''' = map (drop 1) ids''++           -- transform verions into: [[0, 10, 6, 0], ...]+           let versions = map (T.split (== '.') . head) ids'''+           let versions' = map (map (\s -> read (T.unpack s) :: Int)) versions+           let versions'' = map (\v -> V.Version { V.versionBranch = v, V.versionTags = [] }) versions'++           let names = map (reverse . tail) ids'''+           let names' = map (T.intercalate "-") names+           let names'' = map T.unpack names'++           right . HM.fromList $ zip names'' versions''++        Nothing   -> left $ "Couldn't parse json file '" ++ planFile ++ "'"   leftToJust :: Either a b -> Maybe a
+ lib/CabalBounds/Types.hs view
@@ -0,0 +1,16 @@++module CabalBounds.Types where++import qualified Data.HashMap.Strict as HM+import qualified Distribution.Version as V+import Control.Lens+import qualified CabalLenses as CL++type LibName    = String+type LibVersion = [Int]+type Library    = (LibName, LibVersion)+type Libraries  = HM.HashMap LibName V.Version++toList :: Libraries -> [Library]+toList libs =+   map (\(name, version) -> (name, version ^. CL.versionBranchL)) $ HM.toList libs
lib/CabalBounds/Update.hs view
@@ -12,6 +12,7 @@ import CabalBounds.Bound (UpdateBound(..)) import CabalBounds.Dependencies (Dependencies(..), filterDependency, dependencyIf) import CabalBounds.VersionComp (VersionComp(..))+import CabalBounds.Types import qualified CabalLenses as CL import Data.List (foldl') import qualified Data.HashMap.Strict as HM@@ -22,11 +23,6 @@ #endif  -type LibName    = String-type LibVersion = V.Version-type Libraries  = HM.HashMap LibName LibVersion-- update :: UpdateBound -> [CL.Section] -> Dependencies -> Libraries -> D.GenericPackageDescription -> D.GenericPackageDescription update bound sections deps libs pkgDescrp =    foldl' updateSection pkgDescrp sections@@ -57,10 +53,15 @@       lowerBound_   = fromMaybe CL.noLowerBound $ versionRange_ ^? CL.intervals . _head . CL.lowerBound        updateIf f newBound oldBound-         | f oldBound newBound = newBound-         | otherwise           = oldBound+         | oldBound /= CL.noLowerBound+         = if f oldBound newBound+              then newBound+              else oldBound +         | otherwise+         = newBound + updateDependency (UpdateUpper comp ifMissing) libs dep =    fromMaybe dep $       if ifMissing && upperBound_ /= V.NoUpperBound@@ -78,8 +79,14 @@       upperBound_   = fromMaybe V.NoUpperBound $ versionRange_ ^? CL.intervals . _last . CL.upperBound        updateIf f newBound oldBound-         | f oldBound newBound = newBound-         | otherwise           = oldBound+         | oldBound /= V.NoUpperBound+         = if f oldBound newBound+              then newBound+              else oldBound++         | otherwise+         = newBound+  updateDependency (UpdateBoth lowerComp upperComp ifMissing) libs dep =     updateDependency (UpdateLower lowerComp ifMissing) libs $
tests/Main.hs view
@@ -35,6 +35,7 @@          Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "A")) >>= Proc.waitForProcess          Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "B")) >>= Proc.waitForProcess          Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "C")) >>= Proc.waitForProcess+         Proc.runCommand ("cabal sandbox add-source " ++ (libsDir </> "D")) >>= Proc.waitForProcess          Proc.runCommand "cabal install" >>= Proc.waitForProcess           [distDir] <- glob $ "dist" </> "dist-sandbox-*"@@ -45,12 +46,11 @@          Dir.setCurrentDirectory buildDir          Proc.runCommand "cabal sandbox delete" >>= Proc.waitForProcess -         Dir.removeDirectoryRecursive $ buildDir </> "dist"          Dir.setCurrentDirectory prevDir   tests :: T.TestTree-tests = T.testGroup "Tests" [dropTests, updateTests, dumpTests]+tests = T.testGroup "Tests" [dropTests, updateTests, dumpTests, libsTests]   dropTests :: T.TestTree@@ -116,6 +116,12 @@    ]  +libsTests :: T.TestTree+libsTests = T.testGroup "Libs Tests"+   [ test "Libs" $ defaultLibs+   ]++ test :: String -> Args -> T.TestTree test testName args =    G.goldenVsFileDiff testName diff goldenFile outputFile command@@ -140,9 +146,14 @@                                 , output     = Just outputFile                                 } +              Libs {}   -> args { cabalFile       = Just inputFile+                                , output          = Just outputFile+                                , setupConfigFile = Just setupConfigFile+                                }+       diff ref new    = ["diff", "-u", ref, new]-      goldenFile      = "tests" </> "goldenFiles" </> testName <.> (if isDumpTest then "hs" else "cabal")-      outputFile      = "tests" </> "outputFiles" </> testName <.> (if isDumpTest then "hs" else "cabal")+      goldenFile      = "tests" </> "goldenFiles" </> testName <.> (if hasHsOutput then "hs" else "cabal")+      outputFile      = "tests" </> "outputFiles" </> testName <.> (if hasHsOutput then "hs" else "cabal")        inputFile       = "tests" </> "inputFiles" </> (inputFileName testName)          where@@ -151,4 +162,9 @@             inputFileName _                         = "original.cabal"        setupConfigFile = "tests" </> "inputFiles"  </> "setup-config"-      isDumpTest      = case args of Dump {} -> True; _ -> False++      hasHsOutput =+         case args of+              Dump {} -> True+              Libs {} -> True+              _       -> False
tests/goldenFiles/DropBothIgnoreA.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropBothOfAll.cabal view
@@ -16,7 +16,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropBothOfAllExes.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropBothOfExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropBothOfLib.cabal view
@@ -16,7 +16,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropBothOfOtherExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropBothOfTest.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A -any,         B -any,-        C -any+        C -any,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropBothOnlyBase.cabal view
@@ -16,7 +16,8 @@         base -any,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base -any,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base -any,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base -any,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base -any,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperIgnoreA.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2,-        C >=0.1+        C >=0.3,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperOfAll.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperOfAllExes.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperOfExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperOfLib.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperOfOtherExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperOfTest.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1,         B >=0.2,-        C >=0.1+        C >=0.3,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/DropUpperOnlyBase.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/Dump.hs view
@@ -1,4 +1,5 @@ [ ("A",[0,1]) , ("B",[0,2])-, ("C",[0,1])+, ("C",[0,3])+, ("D",[0,7]) ]
+ tests/goldenFiles/Libs.hs view
@@ -0,0 +1,8 @@+[ ("A",[0,3])+, ("B",[0,3,0,1])+, ("C",[0,2,5])+, ("D",[0,8,2])+, ("ghc-prim",[0,4,0,0])+, ("integer-gmp",[1,0,0,0])+, ("rts",[1,0])+]
tests/goldenFiles/UpdateBothIgnoreA.cabal view
@@ -15,8 +15,9 @@     build-depends:         base >=3,         A >=0.1 && <0.2,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.7 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -26,8 +27,9 @@     build-depends:         base >=3,         A >=0.1 && <0.2,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -43,8 +45,9 @@     build-depends:         base >=3,         A >=0.1 && <0.2,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -61,8 +64,9 @@     build-depends:         base >=3,         A >=0.1 && <0.2,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -77,8 +81,9 @@     build-depends:         base >=3,         A >=0.1 && <0.2,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateBothOfAll.cabal view
@@ -14,9 +14,10 @@         CabalBounds.Lenses     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.7 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -60,9 +63,10 @@     main-is: TestMain1.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -76,9 +80,10 @@     main-is: TestMain2.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateBothOfAllExes.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateBothOfExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateBothOfLibrary.cabal view
@@ -14,9 +14,10 @@         CabalBounds.Lenses     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.7 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateBothOfOtherExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateBothOfTest.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -60,9 +63,10 @@     main-is: TestMain1.hs     build-depends:         base >=3,-        A ==0.3.*,-        B >=0.3.0.1 && <0.4,-        C >=0.2.5 && <0.3+        A >=0.1 && <0.4,+        B >=0.2 && <0.4,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateLowerOfAll.cabal view
@@ -14,9 +14,10 @@         CabalBounds.Lenses     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -60,9 +63,10 @@     main-is: TestMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -76,9 +80,10 @@     main-is: TestMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateLowerOfAllExes.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateLowerOfExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateLowerOfLibrary.cabal view
@@ -14,9 +14,10 @@         CabalBounds.Lenses     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateLowerOfOtherExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateLowerOfTest.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -60,9 +63,10 @@     main-is: TestMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMajor1Lower.cabal view
@@ -16,7 +16,8 @@         base >=3,         A <0.2,         B <0.3,-        C <0.4+        C <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A <0.2,         B <0.3,-        C <0.4+        C <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A <0.2,         B <0.3,-        C <0.4+        C <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A <0.2,         B <0.3,-        C <0.4+        C <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A <0.2,         B <0.3,-        C <0.4+        C <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMajor1LowerAndUpper.cabal view
@@ -16,7 +16,8 @@         base >=3,         A ==0.*,         B ==0.*,-        C ==0.*+        C ==0.*,+        D ==0.*     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A ==0.*,         B ==0.*,-        C ==0.*+        C ==0.*,+        D ==0.*     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A ==0.*,         B ==0.*,-        C ==0.*+        C ==0.*,+        D ==0.*     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A ==0.*,         B ==0.*,-        C ==0.*+        C ==0.*,+        D ==0.*     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A ==0.*,         B ==0.*,-        C ==0.*+        C ==0.*,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMajor1Upper.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <1,         B >=0.2 && <1,-        C >=0.1 && <1+        C >=0.3 && <1,+        D >=0.7 && <1     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <1,         B >=0.2 && <1,-        C >=0.1 && <1+        C >=0.3 && <1,+        D ==0.*     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <1,         B >=0.2 && <1,-        C >=0.1 && <1+        C >=0.3 && <1,+        D ==0.*     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <1,         B >=0.2 && <1,-        C >=0.1 && <1+        C >=0.3 && <1,+        D ==0.*     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <1,         B >=0.2 && <1,-        C >=0.1 && <1+        C >=0.3 && <1,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMajor2Lower.cabal view
@@ -14,9 +14,10 @@         CabalBounds.Lenses     build-depends:         base >=3,-        A >=0.3,-        B >=0.3,-        C >=0.2 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3,-        C >=0.2 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2 && <0.4,+        D ==0.8.*     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3,-        C >=0.2 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2 && <0.4,+        D >=0.8     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -60,9 +63,10 @@     main-is: TestMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3,-        C >=0.2 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2 && <0.4,+        D >=0.8     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -76,9 +80,10 @@     main-is: TestMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3,-        C >=0.2 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2 && <0.4,+        D >=0.8 && <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMajor2Upper.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D >=0.7 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMinorLower.cabal view
@@ -14,9 +14,10 @@         CabalBounds.Lenses     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -60,9 +63,10 @@     main-is: TestMain1.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -76,9 +80,10 @@     main-is: TestMain2.hs     build-depends:         base >=3,-        A >=0.3,-        B >=0.3.0.1,-        C >=0.2.5 && <0.4+        A ==0.1.*,+        B ==0.2.*,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMinorLowerAndUpper.cabal view
@@ -14,9 +14,10 @@         CabalBounds.Lenses     build-depends:         base >=3,-        A >=0.3 && <0.3.1,-        B ==0.3.0.1.*,-        C ==0.2.5.*+        A >=0.1 && <0.3.1,+        B >=0.2 && <0.3.0.2,+        C >=0.2.5 && <0.4,+        D >=0.7 && <0.8.3     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -25,9 +26,10 @@     main-is: ExeMain1.hs     build-depends:         base >=3,-        A >=0.3 && <0.3.1,-        B ==0.3.0.1.*,-        C ==0.2.5.*+        A >=0.1 && <0.3.1,+        B >=0.2 && <0.3.0.2,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -42,9 +44,10 @@     main-is: ExeMain2.hs     build-depends:         base >=3,-        A >=0.3 && <0.3.1,-        B ==0.3.0.1.*,-        C ==0.2.5.*+        A >=0.1 && <0.3.1,+        B >=0.2 && <0.3.0.2,+        C >=0.2.5 && <0.4,+        D ==0.8.2.*     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -60,9 +63,10 @@     main-is: TestMain1.hs     build-depends:         base >=3,-        A >=0.3 && <0.3.1,-        B ==0.3.0.1.*,-        C ==0.2.5.*+        A >=0.1 && <0.3.1,+        B >=0.2 && <0.3.0.2,+        C >=0.2.5 && <0.4,+        D ==0.8.2.*     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -76,9 +80,10 @@     main-is: TestMain2.hs     build-depends:         base >=3,-        A >=0.3 && <0.3.1,-        B ==0.3.0.1.*,-        C ==0.2.5.*+        A >=0.1 && <0.3.1,+        B >=0.2 && <0.3.0.2,+        C >=0.2.5 && <0.4,+        D >=0.8.2 && <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateMinorUpper.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.3.1,         B >=0.2 && <0.3.0.2,-        C >=0.1 && <0.2.6+        C ==0.3.*,+        D >=0.7 && <0.8.3     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.3.1,         B >=0.2 && <0.3.0.2,-        C >=0.1 && <0.2.6+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.3.1,         B >=0.2 && <0.3.0.2,-        C >=0.1 && <0.2.6+        C ==0.3.*,+        D <0.8.3     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.3.1,         B >=0.2 && <0.3.0.2,-        C >=0.1 && <0.2.6+        C ==0.3.*,+        D <0.8.3     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.3.1,         B >=0.2 && <0.3.0.2,-        C >=0.1 && <0.2.6+        C ==0.3.*,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateUpperFromFile.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <2.3,         B >=0.2 && <0.3,-        C >=0.1 && <0.6+        C >=0.3 && <0.6,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <2.3,         B >=0.2 && <0.3,-        C >=0.1 && <0.6+        C >=0.3 && <0.6,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <2.3,         B >=0.2 && <0.3,-        C >=0.1 && <0.6+        C >=0.3 && <0.6,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <2.3,         B >=0.2 && <0.3,-        C >=0.1 && <0.6+        C >=0.3 && <0.6,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <2.3,         B >=0.2 && <0.3,-        C >=0.1 && <0.6+        C >=0.3 && <0.6,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateUpperOfAll.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D >=0.7 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateUpperOfAllExes.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateUpperOfExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateUpperOfLibrary.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D >=0.7 && <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateUpperOfOtherExe.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/goldenFiles/UpdateUpperOfTest.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.4,         B >=0.2 && <0.4,-        C >=0.1 && <0.3+        C ==0.3.*,+        D <0.9     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/inputFiles/original.cabal view
@@ -16,7 +16,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D >=0.7     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <0.9     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D -any     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A >=0.1 && <0.2,         B >=0.2 && <0.3,-        C >=0.1 && <0.4+        C >=0.3 && <0.4,+        D <1.0     hs-source-dirs: src     other-modules:         Paths_setup_config
tests/inputFiles/setup-config-build-env/setup-config.cabal view
@@ -16,7 +16,8 @@         base >=3,         A ==0.3,         B ==0.3.0.1,-        C ==0.2.5+        C ==0.2.5,+        D ==0.8.2     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -27,7 +28,8 @@         base >=3,         A ==0.3,         B ==0.3.0.1,-        C ==0.2.5+        C ==0.2.5,+        D ==0.8.2     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -44,7 +46,8 @@         base >=3,         A ==0.3,         B ==0.3.0.1,-        C ==0.2.5+        C ==0.2.5,+        D ==0.8.2     cpp-options: -DCABAL     hs-source-dirs: src     other-modules:@@ -62,7 +65,8 @@         base >=3,         A ==0.3,         B ==0.3.0.1,-        C ==0.2.5+        C ==0.2.5,+        D ==0.8.2     hs-source-dirs: src     other-modules:         Paths_setup_config@@ -78,7 +82,8 @@         base >=3,         A ==0.3,         B ==0.3.0.1,-        C ==0.2.5+        C ==0.2.5,+        D ==0.8.2     hs-source-dirs: src     other-modules:         Paths_setup_config