-----------------------------------------------------------------------------
-- |
-- Module      :  Distribution.PackageDescription.Utils
--
-- Maintainer  :  cabal-devel@haskell.org
-- Portability :  portable
--
-- Common utils used by modules under Distribution.PackageDescription.*.

module Distribution.PackageDescription.Utils (
  cabalBug, userBug
  ) where

-- ----------------------------------------------------------------------------
-- Exception and logging utils

userBug :: String -> a
userBug :: String -> a
userBug msg :: String
msg = String -> a
forall a. HasCallStack => String -> a
error (String -> a) -> String -> a
forall a b. (a -> b) -> a -> b
$ String
msg String -> String -> String
forall a. [a] -> [a] -> [a]
++ ". This is a bug in your .cabal file."

cabalBug :: String -> a
cabalBug :: String -> a
cabalBug msg :: String
msg = String -> a
forall a. HasCallStack => String -> a
error (String -> a) -> String -> a
forall a b. (a -> b) -> a -> b
$ String
msg String -> String -> String
forall a. [a] -> [a] -> [a]
++ ". This is possibly a bug in Cabal.\n"
               String -> String -> String
forall a. [a] -> [a] -> [a]
++ "Please report it to the developers: "
               String -> String -> String
forall a. [a] -> [a] -> [a]
++ "https://github.com/haskell/cabal/issues/new"