    {-# LANGUAGE TemplateHaskell #-}

    module Data.BitVector.Sized.Panic
      ( panic
      ) where

    import Panic hiding (panic)
    import qualified Panic

    data BVSized = BVSized

    panic :: String -> [String] -> a
    panic :: forall a. String -> [String] -> a
    panic = BVSized -> String -> [String] -> a
    forall a b.
    (PanicComponent a, HasCallStack) =>
    a -> String -> [String] -> b
    Panic.panic BVSized
    BVSized

    instance PanicComponent BVSized where
      panicComponentName :: BVSized -> String
    panicComponentName BVSized
    _ = String
    "bv-sized"
      panicComponentIssues :: BVSized -> String
    panicComponentIssues BVSized
    _ = String
    "https://github.com/GaloisInc/bv-sized/issues"

      {-# Noinline panicComponentRevision #-}
      panicComponentRevision :: BVSized -> (String, String)
    panicComponentRevision = $BVSized -> (String, String)
    useGitRevision