module CabalGild.Unstable.Exception.SpecifiedOutputWithCheckMode where

import qualified Control.Monad.Catch as Exception

-- | This exception is thrown when the user specifies the output while using
-- the check mode. In other words, when @--mode=check@ and @--output=anything@.
data SpecifiedOutputWithCheckMode
  = SpecifiedOutputWithCheckMode
  deriving (SpecifiedOutputWithCheckMode
-> SpecifiedOutputWithCheckMode -> Bool
(SpecifiedOutputWithCheckMode
 -> SpecifiedOutputWithCheckMode -> Bool)
-> (SpecifiedOutputWithCheckMode
    -> SpecifiedOutputWithCheckMode -> Bool)
-> Eq SpecifiedOutputWithCheckMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SpecifiedOutputWithCheckMode
-> SpecifiedOutputWithCheckMode -> Bool
== :: SpecifiedOutputWithCheckMode
-> SpecifiedOutputWithCheckMode -> Bool
$c/= :: SpecifiedOutputWithCheckMode
-> SpecifiedOutputWithCheckMode -> Bool
/= :: SpecifiedOutputWithCheckMode
-> SpecifiedOutputWithCheckMode -> Bool
Eq, Int -> SpecifiedOutputWithCheckMode -> ShowS
[SpecifiedOutputWithCheckMode] -> ShowS
SpecifiedOutputWithCheckMode -> String
(Int -> SpecifiedOutputWithCheckMode -> ShowS)
-> (SpecifiedOutputWithCheckMode -> String)
-> ([SpecifiedOutputWithCheckMode] -> ShowS)
-> Show SpecifiedOutputWithCheckMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SpecifiedOutputWithCheckMode -> ShowS
showsPrec :: Int -> SpecifiedOutputWithCheckMode -> ShowS
$cshow :: SpecifiedOutputWithCheckMode -> String
show :: SpecifiedOutputWithCheckMode -> String
$cshowList :: [SpecifiedOutputWithCheckMode] -> ShowS
showList :: [SpecifiedOutputWithCheckMode] -> ShowS
Show)

instance Exception.Exception SpecifiedOutputWithCheckMode where
  displayException :: SpecifiedOutputWithCheckMode -> String
displayException = String -> SpecifiedOutputWithCheckMode -> String
forall a b. a -> b -> a
const String
"cannot use --output when --mode is check"