module Data.Aeson.Schema.Utils.Invariant ( unreachable ) where -- | An error function to indicate that a branch is unreachable. Provides a useful error message -- if it ends up happening, pointing users to write a bug report. unreachable :: String -> a unreachable :: String -> a unreachable String msg = String -> a forall a. HasCallStack => String -> a error (String -> a) -> String -> a forall a b. (a -> b) -> a -> b $ [String] -> String unlines [ String "`aeson-schemas` internal error: " String -> String -> String forall a. [a] -> [a] -> [a] ++ String msg , String "Please file a bug report at https://github.com/LeapYear/aeson-schemas/issues/" ]